AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi [SQL]: Statement mit INSERT INTO... VALUES...und Left Join
Thema durchsuchen
Ansicht
Themen-Optionen

[SQL]: Statement mit INSERT INTO... VALUES...und Left Join

Ein Thema von juergen · begonnen am 26. Dez 2015 · letzter Beitrag vom 26. Dez 2015
Antwort Antwort
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.174 Beiträge
 
Delphi 11 Alexandria
 
#1

[SQL]: Statement mit INSERT INTO... VALUES...und Left Join

  Alt 26. Dez 2015, 15:44
Datenbank: MSSQL • Version: 2008 • Zugriff über: AnyDAC
Hallo zusammen und ein Frohes Weihnachtsfest!

Ich versuche mich an einem SQL Statement wo Datensätze eingefügt werden sollen, einmal aus variablen Werten die aus keiner Tabelle kommen UND mit Werten aus einer anderen Tabelle.

Im Prinzip sowas:
Code:
INSERT INTO Adressstamm (Name, Strasse, Ort, PLZ, Rec_ID_X1, Rec_ID_X2)
VALUES ('Mustermann', 'Spielstr. 5', 'Musterstadt', 12345, 17, 25)
Die Werte "Rec_ID_X1" und "Rec_ID_X2" kommen aus einer anderen Tabelle die *jeweils* über ein Left Join abgefragt werden muss:
Code:
Left JOIN Personalstamm as P1 on Adresstamm.Rec_ID_X1 = P1.Identifikation,
Left JOIN Personalstamm as P2 on Adresstamm.Rec_ID_X2 = P2.Identifikation
Wie muss die INSERT INTO-Anweisung aufgebaut werden, so dass die variablen Werte gesetzt werden können *und* die beiden Werten aus der Tabelle Personalstamm?

Ich hoffe ich konnte mich halbwegs verständlich ausdrücken.
Schon mal eine Danke vorab für eure Unterstützung!
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: [SQL]: Statement mit INSERT INTO... VALUES...und Left Join

  Alt 26. Dez 2015, 16:07
Grundsätzlich würde ich (SQL-)Parameter verwenden.

Zudem würde ich versuchen die Abfrage mit ins Statement zu integrieren. Da der angegebene Join aber auf eine Bezeihung in die umgekehrte Richtung hin, deshalb wüsste ich nicht, wie man diesen in dieses Statement integrieren sollte.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#3

AW: [SQL]: Statement mit INSERT INTO... VALUES...und Left Join

  Alt 26. Dez 2015, 16:33
Moin...
Wie wäre es mit einem Subselect mit Parametern?
Code:
INSERT INTO Adressstamm (Name, Strasse, Ort, PLZ, Rec_ID_X1, Rec_ID_X2)
VALUES ('Mustermann', 'Spielstr. 5', 'Musterstadt', 12345, (select idx1 from blubb where id = :bl), (select idx2 from bla where id = :ba))
Parameter im gesamten Statement sind, wie schon gesagt, wichtig.
Zu erwähnen sei noch, das die subselects nur einen einzigen Datensatz liefern dürfen, sonst gibt es Fehler.

Geändert von haentschman (26. Dez 2015 um 17:34 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: [SQL]: Statement mit INSERT INTO... VALUES...und Left Join

  Alt 26. Dez 2015, 18:11
Oder statt Subselect mit einer Datenbankfunktion, in der ein Cursor den gewünschten Wert liefert.

Grüße
Mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.174 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: [SQL]: Statement mit INSERT INTO... VALUES...und Left Join

  Alt 26. Dez 2015, 18:24
Hallo,

manchmal tut eine Pause ganz gut...
Ich habe nun eine (richtigere) Lösung gefunden, indem ich ein schon vorhandenes Dataset (Datasource einer Query) um die benötigten beiden Felder erweitert habe. Das Dataset kann ich abfragen und in den beiden Values von INSERT INTO einfügen.
Nun funktioniert alles.

Vielen Dank und noch schöne Weihnachten/ Wochenende!


Edit: Die Hinweise auf Parameter-Verwendung habe ich verstanden und wende diese i.d.R. auch an.
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz