B
ByeBye 31659
Hallo,
ich habe folgendes Problem. Ich möchte ein Update auf eine Tabelle ausführen, das aber eine Bedingung, die eine andere Tabelle einbezieht, hat. Ausserdem birgt das Select (die Bedingung) das Problem, dass ich nicht weiß wie ich an das richtige Recordset herankomme.
Aufbau der Tabellen:
Tabelle 1:
PK: A
Updatevalue: exists
Tabelle 2:
PK: B
FK: A
CheckValue: attribute
Beispiel:
Tabelle 1:
A, exists
1, 1
2, 0
Tabelle 2:
B, A, attribute
1, 1, null
2, 1, 1
3, 2, 1
4, 2, 2
Gewünschtes Ergebnis:
In der Tabelle 1 wird die Spalte exists beim Datensatz 1 auf 0 gesetzt und beim Datensatz 2 auf 1 gesetzt. Denn es soll in der Tabelle 1 das exists auf 0 gesetzt werden, sofern für den PK in der Tabelle 2 ein Wert auf "" oder null steht. Sofern für diesen PK nur Werte ungleich "" oder null existieren, soll exists in der Tabelle 1 auf 1 gesetzt werden.
Mein Versuch:
Update Tabelle 1 SET exists = 0 From Tabelle 1 INNER JOIN Tabelle 2 ON Tabelle1.PK = Tabelle2.FK Where attribute is null or attribute = ""
Update Tabelle 1 SET exists = 1 From Tabelle 1 INNER JOIN Tabelle 2 ON Tabelle1.PK = Tabelle2.FK Where attribute is not null and attribute <> ""
Leider funktioniert das bisher nicht, da besonders das zweite Update auch Werte zurückliefert, wenn nur ein Datensatz in tabelle 2 ungleich "" oder null ist...
Kann mir da jemand helfen?
Vielen Dank im voraus.
ich habe folgendes Problem. Ich möchte ein Update auf eine Tabelle ausführen, das aber eine Bedingung, die eine andere Tabelle einbezieht, hat. Ausserdem birgt das Select (die Bedingung) das Problem, dass ich nicht weiß wie ich an das richtige Recordset herankomme.
Aufbau der Tabellen:
Tabelle 1:
PK: A
Updatevalue: exists
Tabelle 2:
PK: B
FK: A
CheckValue: attribute
Beispiel:
Tabelle 1:
A, exists
1, 1
2, 0
Tabelle 2:
B, A, attribute
1, 1, null
2, 1, 1
3, 2, 1
4, 2, 2
Gewünschtes Ergebnis:
In der Tabelle 1 wird die Spalte exists beim Datensatz 1 auf 0 gesetzt und beim Datensatz 2 auf 1 gesetzt. Denn es soll in der Tabelle 1 das exists auf 0 gesetzt werden, sofern für den PK in der Tabelle 2 ein Wert auf "" oder null steht. Sofern für diesen PK nur Werte ungleich "" oder null existieren, soll exists in der Tabelle 1 auf 1 gesetzt werden.
Mein Versuch:
Update Tabelle 1 SET exists = 0 From Tabelle 1 INNER JOIN Tabelle 2 ON Tabelle1.PK = Tabelle2.FK Where attribute is null or attribute = ""
Update Tabelle 1 SET exists = 1 From Tabelle 1 INNER JOIN Tabelle 2 ON Tabelle1.PK = Tabelle2.FK Where attribute is not null and attribute <> ""
Leider funktioniert das bisher nicht, da besonders das zweite Update auch Werte zurückliefert, wenn nur ein Datensatz in tabelle 2 ungleich "" oder null ist...
Kann mir da jemand helfen?
Vielen Dank im voraus.