#1 26. November 2009 Kombination von Select Hallo, ich habe folgende Problematik: Die Abfrage von Kontaktdaten aus einer Datenbank soll mittels zweier SELECT Abfragen gefiltert werden. Die erste SELECT beinhaltet diverse Rechteeinschränkungen da nicht jeder User alle Datensätze sehen soll, diese Abfrage kann bei jedem User anders aussehen z.B. PLZ größer als 10000 und kleiner als 30000 usw... (hier kann AND und OR vorkommen) Die zweite SELECT ist ein Suchfilter den der User selber zusammenstellen kann (durch Eingabe gewisser Suchparametere kann er sich z.B. aus allen Datensätzen die Ihm entsprechend seiner Rechte in SELECT 1 zur Verfügung stehen sich nur die Kontaktdaten aus z.B. Musterort anzeigen lassen) (auch hier kann AND und OR vorkommen) Meine Problematik ist das ich diese beiden Abfragen nicht zusammen bekomme ich hab diverses mit UNION versucht und auch verschiedene Verschachtelungen der SELECTS durchprobiert ohne den gewünschten Erfolg. Ich hoffe einer hat die erleuchtende Idee wie ich das abbilden kann + Multi-Zitat Zitieren
#2 26. November 2009 AW: Kombination von Select Also wenn du z.B. drei Tabellen hast (Benutzer, Rechte und Adresse) und ich dich richtig verstanden habe, dann kannst du das so machen: SELECT Adresse.Anschrift, Adresse.Strasse, Adresse.PLZ, Rechte.* WHERE Adresse.Benutzer_id = Benutzer.id AND Rechte.Benutzer_id = Benutzer.id AND Adresse.Strasse = 'Musterstraße' FROM Adresse, Rechte, Benutzer Wenns so nicht geht, müsste es auf jeden Fall zumindest eine Hilfe sein, wie du mehrere Tabellen verknüpfen kannst. Oder du schaust dir mal JOINS an, machen aber nichts anderes. + Multi-Zitat Zitieren
#3 27. November 2009 AW: Kombination von Select Also am besten wird sein wenn man gleich ein inner select daraus macht, das könnte in manchen anwendungsfällen performanter sein. in deinem anwendungsfall würde ich erst alle tabellen holen auf die der benutzer rechte hat und dann auf die filter ausführen: Code: SELECT * FROM (SELECT Benutzer.* FROM Benutzer JOIN Rechte ON Benutzer.id = Rechte.benutzer_id WHERE ... Rechte Bedingungen ... ) WHERE ... Filter Bedingungen ... + Multi-Zitat Zitieren
#4 27. November 2009 AW: Kombination von Select warum müssen das zwangsweise 2 SELECT-anweisungen sein? warum postest du nicht einfach das tabellenlayout? fährst ja schließlich auch mit'm auto in die werkstatt + Multi-Zitat Zitieren