phpbar.de logo

Mailinglisten-Archive

[php] AW: [php] MySQL Problem (... und sie bewegt sich doch! :)

[php] AW: [php] MySQL Problem (... und sie bewegt sich doch! :)

nIKO! n.plewa_(at)_gmx.de
Fri, 7 Jan 2000 00:21:10 +0100


Hab nach einigem Grübeln dochnoch eine Lösung mit nur
einem Query gefunden:

SELECT Personen_ID FROM Tabelle WHERE ( Eigenschafts_ID = '1' OR
Eigenschafts_ID = '2' OR Eigenschafts_ID = '3') GROUP BY Personen_ID HAVING
COUNT(Personen_ID) = 3

Dann gibts nur die auf die alle 3 ID's zutreffen. (*YIPPIEEE*)

;-)

Gruß und Danke,

Niko



-----Ursprüngliche Nachricht-----
Von: php-admin_(at)_infosoc.uni-koeln.de
[mailto:php-admin_(at)_infosoc.uni-koeln.de]Im Auftrag von Ulf Wendel
Gesendet: Donnerstag, 6. Januar 2000 21:07
An: php_(at)_solix.wiso.Uni-Koeln.DE
Betreff: Re: [php] MySQL Problem (Was tun ohne Sub-Select?)




pho-niko_(at)_pixelhouse.de wrote:
> Was ist aber (passt jetzt nicht ganz aufs Problem) wenn ich alle
Personen_ID's haben will die (genau)die  Eigenschaft_ID 1, 27, und 34 haben
(aber nicht die dazwischen.
>
> 'select person_id from liste where eigenschaft_id=1 and eigenschaft_id=27
and eigenschaft_id=34 (group by person_id)' funktioniert verständlicherweise
nicht.




Hallo Niko,

in dem Fall mußt Du entweder doch zwei Queries absenden und
aussortieren oder gleich statt n Eigenschaft-IDs einen
(Binär-)Wert speichern, der aus einem logischen UND der einzelnen
Eigenschaften entsteht.  Dann kannst Du einfach und schnell nach
beliebigen Kombinationen suchen.

Ulf



-------------------------------------------------------------

> > Folgendes Problem:
> >
> > Tabell:
> > +++++++++++++++++++++++++++++++++
> > + Personen_ID + Eigenschafts_ID +
> > +++++++++++++++++++++++++++++++++
> > +     1       +       1         +
> > +     1       +       2         +
> > +     1       +       3         +
> > +     2       +       1         +
> > +     2       +       2         +
> > +     2       +       3         +
> > +     3       +       1         +
> > +     3       +       3         +
> > +     4       +       1         +
> > +     4       +       2         +
> > +     5       +       3         +
> > +++++++++++++++++++++++++++++++++
> >
> >
> >
> > Ich möchte nun alle Personen_ID's ermitteln, die
> > Eigenschafts_ID 1, 2 und 3 haben. Gibt es eine Möglichkeit
> > diese Personen_ID's mit einem SQL-Statement (ohne Sub-Selects)
> > abzufragen? Stehe ich da einfach auf der Leitung?



php::bar PHP Wiki   -   Listenarchive