00 | | 3 | kaushik | 23 | Kota | 2000. 00 | | 4 | Chaitali | 25 | Mumbai | 6500. 00 | | 5 | Hardik | 27 | Bhopal | 8500. 00 | | 6 | Komal | 22 | MP | 4500. 00 | | 7 | Muffy | 24 | Indore | 10000. 00 | Lassen Sie uns nun die folgende Unterabfrage mit einer SELECT-Anweisung überprüfen. SQL> SELECT * FROM CUSTOMERS WHERE ID IN (SELECT ID WHERE SALARY > 4500); Dies würde das folgende Ergebnis erzeugen. +----+----------+-----+---------+----------+ Unterabfragen mit der INSERT-Anweisung Unterabfragen können auch mit INSERT-Anweisungen verwendet werden. Sql update mit unterabfrage in excel. Die INSERT-Anweisung verwendet die von der Unterabfrage zurückgegebenen Daten, um sie in eine andere Tabelle einzufügen. Die ausgewählten Daten in der Unterabfrage können mit einer beliebigen Zeichen-, Datums- oder Zahlenfunktion geändert werden. Die grundlegende Syntax lautet wie folgt. INSERT INTO table_name [ (column1 [, column2])] SELECT [ *|column1 [, column2] [ WHERE VALUE OPERATOR] Stellen Sie sich eine Tabelle CUSTOMERS_BKP mit einer ähnlichen Struktur wie die Tabelle CUSTOMERS vor.
(Ungetestet) Code: set mo. angeliefert = '1' where Cast(FTRAG_ID as Varchar(20))+'-'+Cast(EHLERNUMMER as Varchar(20))+'-'+ cast(EHLWERKNUMMER as Varchar(20)) IN ( Select Cast(FTRAG_ID as Varchar(20))+'-'+Cast(EHLERNUMMER as Varchar(20))+'-'+ cast(EHLWERKNUMMER as Varchar(20)) and sedatum >= '27. 2016' and <> 'Dorsten' and l. datum_bis = '31. 9999' and gertyp = '302') Philipp Höllische Grüße Devil Meistens sitzt das Problem vor dem Bildschirm! - Leider bin das oftmals ich. Registriert seit: 9. Dez 2010 Ort: Mönchengladbach 1. 706 Beiträge Delphi 6 Enterprise 15. Dez 2016, 09:59 Oder da Oracle vllt. einfach: FTRAG_ID||'_'||EHLERNUMMER||'_'|| LWERKNUMMER Ralph 15. Dez 2016, 10:09 gut, ich habe es aus sicht von MSSQL gemacht, hatte danach erste gesehen, dass es Oracle ist. (ausserdem weiss ich nicht wie da die Syntax ist) 15. Dez 2016, 10:12 Hey super, nun hat es geklappt. Die Lösung ging dann mit: FTRAG_ID||' _ '||EHLERNUMMER||' _ '||EHLWERKNUMMER Vielen dank. Sql update mit select unterabfrage. Zitat
2), E17118-03, August 2010, Saake, Gunter/Sattler, Kai-Uwe/Heuer, Andreas: "Datenbanken - Konzepte und Sprachen", mitp-Verlag, Redline GmbH, Heidelberg, 2007, ISBN 3-8266-1664-2 Sieben, Jürgen: "Oracle® SQL - Das umfassende Handbuch", Galileo Press, 2012, ISBN 978-3-8362-1875-7 Vossen, Gottfried: "Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme", Oldenbourg, München, 2008, ISBN 978-3-486-27574-2 Kategorie:: SQL, K
Update mit Unterabfrage, die mehrere Spalten zurückliefert - SQL -
Peter Gulutzan ist Mitverfasser des Buches "SQL-99 Complete, Really". Update mit Select unterabfrage - Entwickler-Forum. Er arbeitet für MySQL AB als Softwarearchitekt und lebt in Edmonton, Kanada. MySQL-Besonderheiten Zumindest seine Fans wissen MySQLs gelegentlich großzügige Interpretation des SQL99-Standards zu schätzen. Auch bei Unterabfragen unterstützt es ungewöhnliche Konstruktionen: Eine Subquery kann LIMIT, ORDER BY, und sogar UNION enthalten: SELECT * FROM Kunden WHERE name > ( SELECT klasse from Waggons WHERE waggon_id = 15 UNION ALL SELECT klasse FROM Waggons WHERE waggon_id = 4 ORDER BY klasse); Sie darf auf der linken Seite einer Vergleichsbedingung und in jeder Klausel eines SELECT erscheinen: SELECT (SELECT 1), Waggons. waggon_id + (SELECT waggon_id FROM Waggons) AS spalte2 FROM Kunden, Waggons WHERE (SELECT name FROM Kunden WHERE waggon_id = 15) > Klasse ORDER BY spalte2;
Registriert seit: 28. Nov 2006 Ort: Marl 1. 207 Beiträge Delphi XE7 Enterprise SQL-Update mit Unterabfrage 15. Dez 2016, 09:25 Datenbank: Oracle • Version: 12 • Zugriff über: ADO Hallo zusammen, ich möchte ein Update ausführen. Ich benötige dafür eine Unterabfrage. Nun ist der Datensatz nicht mit einer Spalte eindeutig indentifizierbar. Wie könnte ich dieses Update-Statement ändern? Wenn ich nur über die Spalte FTRAG_ID gehen könnte würde das ja so funktionieren. Delphi-Quellcode: update sys. zst_2bmobil mo set mo. angeliefert = ' 1 ' where FTRAG_ID, EHLERNUMMER, EHLWERKNUMMER IN ( Select FTRAG_ID, EHLERNUMMER, EHLWERKNUMMER from sys. zst_2bmobil m left join sys. zst_lager l on ehlernummer = where ehleraltneu=1 and m. angeliefert is null and sedatum >= ' 27. 07. 2016 ' and <> ' Dorsten ' and l. datum_bis = ' 31. 12. 9999 ' and gertyp = ' 302 ') Gruss Holger Zitat Registriert seit: 20. MySQL DELETE FROM mit Unterabfrage als Bedingung. Nov 2015 Ort: Saerbeck 236 Beiträge Delphi 10. 3 Rio AW: SQL-Update mit Unterabfrage 15. Dez 2016, 09:33 Eventuell so?
Hallo, ich möchte in einer Tabelle Artikel die mit aufsteigender Reversion sozusagen als Duplikate angelegt werden anpassen: 1. Folgeartikel bei älteren Reversionen eintragen. 2. Ältere Artikel sperren, nur den aktuellen aktiv lassen. Sql update unterabfrage. Artikelnummern bestehen aus 10 Zeichen und beginnen immer mit "ART". Die zehnte Stelle stellt die Reversion da, von 0 bis 9 - falls es welche gibt, z. B. ART7893010 ART7893011 ART7893012 Was ich bereits habe und einwandfrei funktioniert ist folgendes: 1. Auflistung aller Artikelnummern, die nicht gesperrte Reversionen enthalten: SQL: SELECT ArtikelNummer, Bezeichnung, FolgeArtikel, Verkaufssperre FROM Artikel WHERE EXISTS ( SELECT SUBSTRING(tikelNummer, 0, 9), Bezeichnung, COUNT(*) FROM Artikel Dup WHERE ArtikelNummer LIKE 'ART%' AND SUBSTRING(tikelNummer, 0, 9) = SUBSTRING(tikelNummer, 0, 9) AND Verkaufssperre! = 1 GROUP BY SUBSTRING(ArtikelNummer, 0, 9), Bezeichnung HAVING COUNT(*) > 1) ORDER BY ArtikelNummer; 2. Alle älteren Reversionen einer einzelnen ArtikelNummer aktualisieren: UPDATE Artikel SET FolgeArtikel = ( SELECT TOP(1) ArtikelNummer WHERE ArtikelNummer LIKE 'ART789301%' AND Verkaufssperre!