oneside Geschrieben 22. November 2007 Geschrieben 22. November 2007 Hi, Ich habe eine Tabelle mit zwei Feldern: "ObjektNr" und "Angabe" gibt es eigentlich eine Möglichkeit mit einer Abfrage alle "ObjektNr" aus der Tabelle zu holen, die einen Satz mit dem Wert X und dem Wert Y im Feld "Angabe" haben? Also hole alle Obejtknummern, die einen Satz mit Angabe 10 AND Angabe 20 haben? Vielleicht stehe ich auch gerade nur auf dem Schlauch :upps Gruß Tobias Zitieren
flashpixx Geschrieben 22. November 2007 Geschrieben 22. November 2007 Hallo, meine Anmerkung, denke mal ein bisschen darüber nach, die Lösung ist einfach. Überlege Dir was in Deiner WHERE Bedingung für eine Booleanbedingung stehen muss. Deine Formulierung in Deinem Post ist schon in der richtigen Richtung, nur eine Kleinigkeit ist verkehrt HTH Phil Zitieren
oneside Geschrieben 22. November 2007 Autor Geschrieben 22. November 2007 Ich habs schon danke. Hatte das Problem hier eigentlich nicht ausreichend beschrieben ist mir aufgefallen... Ich suche nicht einen Satz mit zwei Werten im Feld Angabe, sondern die ObjektNummern, für die es einen Satz mit Angabe X und einen weiteren Satz mit Angabe Y (also zwei Sätze) gibt. Die Lösung hier: SELECT ObjektNr FROM tabelle AS a1 LEFT JOIN tabelle AS a2 USING(ObjektNr) WHERE a1.Angabe=Wert AND a2.Angabe=Wert Zitieren
flashpixx Geschrieben 22. November 2007 Geschrieben 22. November 2007 wie wäre es mit select * from tabelle where angabe=a or angabe=b Zitieren
mackemi Geschrieben 22. November 2007 Geschrieben 22. November 2007 wie wäre es mit select * from tabelle where angabe=a or angabe=b für die es einen Satz mit Angabe X und einen weiteren Satz mit Angabe Y (also zwei Sätze) gibt. Grüße Fabian Zitieren
flashpixx Geschrieben 22. November 2007 Geschrieben 22. November 2007 Hallo, sorry hab das mit der zwei übersehen. Ich würde das dann eher so machen select * from tabelle where anhang=20 UNION select * from tabelle where anahng=10 Die verknüpfung über die Tabelle selbst finde ich etwas umständlich, der Union würde praktisch Ergebnis 1 holen und einfach darunter das 2te hängen, das ganze evtl noch schön in einen View packen und dann kannst Du den wie eine Tabelle abfragen Phil Zitieren
gurkenpapst Geschrieben 5. Dezember 2007 Geschrieben 5. Dezember 2007 Hallo, select * from tabelle where anhang=20 UNION select * from tabelle where anahng=10 Phil Ich würde sogar noch um folgendes erweitern: select * from tabelle where anhang=20 UNION ALL select * from tabelle where anahng=10 AND anhang != 20 [/PHP] Warum? UNION vs UNION ALL Performance | MySQL Performance Blog Zitieren
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.