Kleine Sektflaschen Hochzeit
Unterabfragen, die mehr als eine Zeile zurückgeben, können nur mit mehreren Wertoperatoren wie dem IN-Operator verwendet werden. Die SELECT-Liste darf keine Verweise auf Werte enthalten, die für ein BLOB, ARRAY, CLOB oder NCLOB ausgewertet werden. Eine Unterabfrage kann nicht sofort in eine Set-Funktion eingeschlossen werden. Der Operator BETWEEN kann nicht mit einer Unterabfrage verwendet werden. Der Operator BETWEEN kann jedoch innerhalb der Unterabfrage verwendet werden. Sql update mit unterabfrage in c. Unterabfragen mit der SELECT-Anweisung Unterabfragen werden am häufigsten mit der SELECT-Anweisung verwendet. Die grundlegende Syntax lautet wie folgt: SELECT column_name [, column_name] FROM table1 [, table2] WHERE column_name OPERATOR (SELECT column_name [, column_name] [WHERE]) Beispiel Betrachten Sie die Tabelle CUSTOMERS mit den folgenden Datensätzen: +----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | | 1 | Ramesh | 35 | Ahmedabad | 2000. 00 | | 2 | Khilan | 25 | Delhi | 1500.
Danke! Aber ich habe noch ein Problem: Zuerst nehme ich Ihren Select: select FIRMA, max(DATUM)as DATUM from BESTELLUNG groupby FIRMA HAVINGMAX(DATUM)>='2017-01-01' Wie man sehen kann, ist die Firma 100433 nicht dabei beim Ergebnis des Selects (siehe Bild). Somit müsste bei dem Update diese Firma geupdated werden. Wenn ich jetzt das Update ausführe: set ANP_LIEFERANTENSTATUS 'inaktiv' where FIRMA NOTIN(select FIRMA from BESTELLUNG groupby FIRMA HAVINGMAX(DATUM)>='2017-01-01') Bekomme ich die Meldung, dass KEIN Datensatz geändert wurde: 0 Zeilen betroffen Der Update grundsätzlich funktioniert: update FIRMA set ANP_LIEFERANTENSTATUS ='inaktiv' where FIRMA ='100433' Was mache ich falsch bei dem Update-Befehl? 3, 6 KB · Aufrufe: 2 913 Bytes #4 Das NOT IN habe ich natürlich getrennt geschrieben. #5 was liefert denn das Subselect, und warum killst Du Leerzeichen? Update mit Select unterabfrage - Entwickler-Forum. #6 Du meinst mit dem Subselect folgenden Select, oder? select FIRMA from BESTELLUNG group by FIRMA having max(DATUM) >= '2017-01-01' Dieser select liefert 515 Zeilen.
Ich versuche eine Abfrage wie folgt durchzuführen: DELETE FROM term_hierarchy AS th WHERE th. parent = 1015 AND th. tid IN ( SELECT DISTINCT ( th1. tid) FROM term_hierarchy AS th1 INNER JOIN term_hierarchy AS th2 ON ( th1. tid = th2. tid AND th2. parent! = 1015) WHERE th1. parent = 1015); Wie Sie wahrscheinlich sehen können, möchte ich die Elternbeziehung zu 1015 löschen, wenn dieselbe Nachricht andere Eltern hat. Dies führt jedoch zu einem Syntaxfehler: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS th WHERE = 1015 AND IN ( SELECT DISTINCT() FROM ter' at line 1 Ich habe die Dokumentation überprüft und die Unterabfrage selbst ausgeführt, und alles scheint zu überprüfen. Kann jemand herausfinden, was hier falsch ist? MS SQL 2016 Standard: SQL Update mit 2 verknüpften Tabellen scheitert (Unterabfrage hat mehrere Werte) - Administrator.de. Update: Wie unten beantwortet, erlaubt MySQL nicht, dass die Tabelle, aus der Sie löschen, in einer Unterabfrage für die Bedingung verwendet wird. Antworten: Sie können keine Zieltabelle zum Löschen angeben.