ich eine Tabelle, wie so haben:SQL eine Tabelle mit Zeilen in derselben Tabelle zu aktualisieren, jedoch mit unterschiedlichen Kriterien
business_positions
id code description_1 description_2
Aus irgendeinem Grund ist es falsch für die erste Hälfte der description_1
Spalte ausgefüllt aufgefüllt wird und die description_2
Spalte leer, und die zweite Hälfte ist das Gegenteil:
id |code|description_1|description_2
900| 1|Senior Manager|(empty)
901| 1|President|(empty)
902| 1|Board Member|(empty)
903| 2|Another Description|(empty)
...
2000| 1|(empty)|Desc
2001| 1|(empty)|Desc2
2002| 1|(empty)|Desc3
2003| 2|(empty)|Desc4
...
ich möchte, die Tabelle aktualisieren, um sowohl die in der gleichen Zeile gefüllt Beschreibungen, Zeilen durch die code
Feldabstimmung und Einsetzfolge respektieren (dh nicht so ng). Die ids
sind immer einzigartig. Das Ergebnis, das ich habe, ist:
id |code|description_1|description_2
900| 1|Senior Manager|Desc
901| 1|President|Desc2
902| 1|Board Member|Desc3
903| 2|Another Description|Desc4
und dann die zweite Hälfte mit IDs ab 2000 löschen.
Wie mache ich das?
dies ohne Glück versucht:
UPDATE
business_positions A
LEFT JOIN business_positions B ON (A.code=B.code)
SET
A.description_2 = B.description_2
WHERE
A.description_2=''
AND
B.description_2<>''
AND
A.id<>B.id
in description_2 Spalte müssen Sie nur Desc1, Desc 2 ....... richtig? –
@FathahRehmanP Ja. – vulkanino
Problem gelöst, überprüfe meine Antwort –