phpbar.de logo

Mailinglisten-Archive

AW: Select mit mehrfacher Bedingung

AW: Select mit mehrfacher Bedingung

Robert Pleniger pleniger at rpdev.at
Die Aug 24 21:01:30 CEST 2004


Auch Hi
> 
> Hi Robert,
> 
> > Jetzt möchte ich alle Firma_ID erhalten die
> > Branche LIKE 'Elektro%'
> > UND Branche LIKE 'Heizung%'
> > erfüllen
> einfach das UND in ein OR verwandeln:
> 
> SELECT * FROM Test
>  WHERE Branche LIKE 'Elektro%'
>     OR Branche LIKE 'Heizung%';
> 
Da habe ich mich wohl nicht klar ausgedrückt.
Um bei meinem Beispiel zu bleiben würde deine Abfrage folgendes Ergebnis
bringen:

 1, 'Elektromechaniker'
 2, 'Elektromechaniker'
 2, 'Heizungsinstallateur'
 3, 'Elektroinstallateur'
 3, 'Heizungsinstallateur'

Ich hätte gerne als Ergebnis:
 2
 3

Da nur bei Firma_ID 2 und 3 sowohl Elekrto% als auch Heizung%
übereinstimmen,
bei 1 währe nur eine Bedingung erfüllt.

Eine Überlegung war:
SELECT t1.Firma_ID
FROM   Test AS t1
WHERE  'Bedingung1' IN (SELECT   t2.Branche
                        FROM     Test AS t2
                        WHERE    t2.Firma_ID = t1.Firma_ID)
  AND  'Bedingung2' IN (SELECT   t2.Branche
                        FROM     Test AS t2
                        WHERE    t2.Firma_ID = t1.Firma_ID)
GROUP BY Firma_ID;

Das erlaubt aber keinen LIKE-Vergleich in der Where-Klausel und ist
zudem äuserst langsam.

Vieleich fällt Dir noch was ein?

Danke
Robert


-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive