----- Original Message ----- From: "Christian Hahn" <[email protected]>
To: "REALbasic NUG German" <[email protected]>
Sent: Sunday, May 03, 2009 12:04 PM


Hallo,

Wie kann ich in einem UPDATE-Befehl auf mehr als 1 Kriterium prüfen, wenn ich in der WHERE-Klausel eine Unterabfrage benutze?

Die Abfrage, die ich als Unterabfrage benutzen wird, lautet:

SELECT * FROM Tab2 INNER JOIN Tab1
ON Tab2.Datum = Tab1.Datum AND Tab1.Gesperrt LIKE  '%' || Tab2.Std  || '%'

Der UPDATE-Befehl müsste etwa lauten:

UPDATE Tab2 SET Gesperrt = 'x'
WHERE Tab2.Std =
(SELECT * FROM Tab2 INNER JOIN Tab1
ON Tab2.Datum = Tab1.Datum AND Tab1.Gesperrt LIKE '%' || Tab2.Std || '%')

hier fehlt in der WHERE-Klausel aber noch die Überprüfung von Datum.
Aber folgendes funktioniert nicht:

UPDATE Tab2 SET Gesperrt = 'x'
WHERE Tab2.Std =
(SELECT * FROM Tab2 INNER JOIN Tab1
ON Tab2.Datum = Tab1.Datum AND Tab1.Gesperrt LIKE '%' || Tab2.Std || '%')
AND Tab2.Datum =
(SELECT * FROM Tab2 INNER JOIN Tab1
ON Tab2.Datum = Tab1.Datum AND Tab1.Gesperrt LIKE '%' || Tab2.Std || '%')

Wie gehts richtig?
Ich hoffe, das Problem ist so schon genügend durchschaubar, ich kann's aber auch noch genauer erläutern.

besten Dank für Rat und Hilfe, Christian Hahn.




Antwort per Email an