Hallo liebes Forum,
ich bin neu hier, weil ich eure Hilfe benötige. Ich schreibe eine Ausarbeitung zu einem Projekt innerhalb eines Praktikums und werde von der betreffenden Firma hängen gelassen.
Ich habe ein ER-Diagramm erstellt, welches eine Kalkulation abbildet wie sie (komplexer) im Unternehmen stattfindet. Dazu hab ich auch die Relationen erstellt.
Nun möchte ich eine Abfrage simulieren, in der über die Eingabe der Auftragsnummer alle Teile des betreffenden Auftrags aufgelistet werden.
Meine Frage an euch, ist mein Gedankengang richtig? Wenn nicht, was muss ich anders machen?
Danke für eure Hilfe
Du solltest Dir mal JOINS anschauen. Ich mag nicht auf die Bilder eingehen wollen, nur eine kurze Demo von JOINS:
AndreasCode:test=# create table auftrag (id int primary key, datum date); NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "auftrag_pkey" for table "auftrag" CREATE TABLE test=# create table auftrag_position(auftrag_id int references auftrag, teil text); CREATE TABLE test=# copy auftrag from stdin; Enter data to be copied followed by a newline. End with a backslash and a period on a line by itself. >> 1 2010-03-23 >> 2 2010-03-23 >> 3 2010-03-23 >> \. test=# copy auftrag_position from stdin; Enter data to be copied followed by a newline. End with a backslash and a period on a line by itself. >> 1 teil1 >> 2 teil1 >> 2 teil2 >> 2 teil3 >> \. test=# select a.datum, p.teil from auftrag a left join auftrag_position p on a.id=p.auftrag_id where a.id = 2; datum | teil ------------+------- 2010-03-23 | teil1 2010-03-23 | teil2 2010-03-23 | teil3 (3 rows)
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Danke für die schnelle Antwort, aber da ich quasi ein Laie in SQL bin, will ich eigentlich nur wissen ob ich mit meinem Query ans Ziel komme, bzw. ob es richtig ist.
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
das ist eben das Problem. Ich kann es nicht wirklich überprüfen...
Meinst du, du könntest mir eine Query aufschreiben die funktioniert?
Für Geld ja, dafür würde ich mir die Mühe machen, zu versuchen, aus Deinen Bildern und so schlau zu werden ;-)
Ich hab Dir ja schon gesagt, beschäftige Dich mit der JOIN-Syntax. Außerdem vergiß select * in einer produktiven Umgebung und erst recht in einem Konstrukt wie
Dies wird mit höchster Sicherheit nicht funktionieren.Code:where id in (select * from other_table) ...
Andreas
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Okay, ich hab mich mal versucht. Da ich aber nicht so fit bin und die Zeit drängt, hab ich mich auf drei Relationen beschränkt.
Select Kunde, Ident-Nr., Name, Preis
From Auftrag, enthält, Position
Where Auftrag.Auft.-Nr. = enthält.Auft.-Nr.
And enthält.Ident-Nr. = Position.Ident-Nr.
And Auftrag.Auft-Nr. = 1234
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Danke, du hast mir sehr geholfen!
Besten Gruß,
Torsten
Links: Tobias Bauer - IT- und Funkdienstleistungen - Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen - Funkforum
Lesezeichen