korea1 Geschrieben 17. Juni 2004 Teilen Geschrieben 17. Juni 2004 hi, ich habe folgende tabellen: software:id(pk),software(text) firmaZuSoftware:id(pk),f_firma(int,fk),f_software(int,fk) firma:id(pk),firmenname(text) anfragesteller:id(pk),f_firma(int,fk),vorname(text),name(text),tel(zahl) anfrage:id(pk),f_anfragesteller(int,fk) pk = primary_key, fk = foreign_key ich benötige eine abfrage, die mir nur noch die software anzeigt(tabelle software), die auch in der tabelle firmaZuSoftware aufgeführt ist. das heisst ich möchte ein dropdown menü erzeugen, aus dem software ausgewählt werden kann. dort sollen aber nicht alle einträge aus der tabelle software angezeigt werden, sondern nur noch die software, die eine firma auch haben darf(firmaZuSoftware). Beispiel: software: 1 win xp 2 win nt 3 office firmaZuSoftware: 1 Firma x win xp 2 Firma x office 3 Firma y win xp 4 Firma y win nt 5 Firma y office wenn ich jetzt die maske mit firma x hab, dann sollen dort nur win xp und office im dropdown menü angezeigt werden. ich hoffe das war jetzt verständlich. probier schon ne weile dran rum, aber es klappt nicht. kann mir bitte hierfür jemand die abfrage posten? keine sql grundlagen, die sind vorhanden, aber irgendwie seh ich den wald vor bäumen im moment nicht mehr. danke korea1 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
escito83 Geschrieben 17. Juni 2004 Teilen Geschrieben 17. Juni 2004 wenn ich das richtig verstanden habe, ist das hier die lösung: -------- select software from software where id in(select f_software from firmazusoftware where f_firma="ID der Firma") -------- Da wo ich "ID der Firma" geschrieben habe, muss logischerweise dann auch die jeweillige ID der firma stehen, aber das denke ich weiss du wohl... ;-) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
korea1 Geschrieben 18. Juni 2004 Autor Teilen Geschrieben 18. Juni 2004 guten morgen und danke. es funktioniert so. korea1 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
korea1 Geschrieben 18. Juni 2004 Autor Teilen Geschrieben 18. Juni 2004 hi, also irgendwie hab ich glaub tomaten auf den augen.... ok die abfrage von oben is ja soweit in ordnung. jetzt benötige ich noch die firma id, die kann ich aber net von hand hardcodiert reinschreiben, also z.b. 1 oder so, sondern die is ja auch dynamisch, da es sich um ein webinterface handelt und je nachdem auf welche tabellen zeile der anwender klickt, sich die firma ändert. nochmal meine tabellen (ich nehm jetzt mal die originaltabellen, hab sie gestern nur vereinfacht): tblSupportAnfrage(pID->primary_key,f_Anfragesteller->int) tblAnfragesteller(pID->primary_key,f_Firma->int) tblFirmen(pID->primary_key,Firmenname->text) tblFirmenZuSW(pID->primary_key,f_Firma->int,f_KlassifizierungSoftware->int) tblListeKlassifizierungSoftware(pID->primary_key,KlassifizierungSoftware->text) falls nicht klar sein sollte, wie die tabellen miteinander verknüpft sind, oder wenn etwas anderes unklar ist, einfach nachfragen. so, hier is mein sql statement: $SqlShowFirma = " SELECT f.pID AS PrimaryKeyFirma FROM tblFirmen f, tblSupportanfrage sa, tblAnfragesteller a, tblFirmenZuSw fzsw WHERE sa.f_Anfragesteller = a.pID AND a.f_Firma = f.pID AND f.pID = fzsw.p_FirmenZuSW AND sa.pID = $supportanfrageid lasse ich mir jetzt PrimaryKeyFirma ausgeben, so ist es leer. wenn ich die verknüpfung AND sa.pID = 12 weglasse, bekomme ich zwar ne id für die firma, aber die falsche. was hab ich da vergessen, falsch gemacht oder verbockt?? danke korea1 gut, vergessen wir das. die zeile: AND f.pID = fzsw.p_FirmenZuSW war einfach zu viel. :floet: jetzt is alles wieder in ordnung Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.