phpbar.de logo

Mailinglisten-Archive

if oder case mit group verbinden

if oder case mit group verbinden

Ralf Narozny mysql-de_(at)_lists.bttr.org
Mon, 22 Jul 2002 13:15:46 +0200


Moin Moin ;-)

gernot.pokorny_(at)_netfile.de wrote:

>Hallo an Alle!
>
>Mein Name ist Gernot, ich bin neu in der Liste. Viel
>Erfahrung mit Datenbanken bringe ich nicht mit, dafuer aber
>gleich ein Problem.
>
>Der Hintergrund:
>Das Projekt laeuft auf Linux mit Apache, PHP,MySQL.
>
>In einer Artikeltabelle gibt es unter anderem 2 Felder die sich ab und an
>vom Inhalt her unterscheiden, meist jedoch ist der Inhalt ident. ART und
>ARTP.
>Wenn ART gleich ARTP soll  group by ART,MOTIV,MG ausgefuehrt werden,
>wenn ART ungleich ARTP soll nur group by ART,MG ausgefuehrt werden.
>Dazu habe ich mir auch bereits etwas ueberlegt:
>
>select if (ART = ARTP,'gleich', 'ungleich') as VERGLEICH,
>            ART,
>            ARTP,
>            MOTIV,
>            MG,
>            ...
>        from TABELLE
>            where
>            ...
>            group by ART,???,MG
>  
>

Das geht nicht, da man innerhalb einer Query die Aggregationsart 
natürlich nicht ändern kann. Also zwei queries (oder sofern 4.x Version 
UNION, oder sofern Du gut bist ein JOIN) mit einem WHERE mit ART=ARTP 
und einmal ART!=ARTP.

Gruß
 Ralf

>
>Also, in 'VERGLEICH' steht jetzt die Information ob == oder !=. Nur wie kann
>ich diese Information in der Gruppierung wie zuvor beschrieben richig
>nutzen?
>
>  
>


-- 
Ralf Narozny
SPLENDID Internet GmbH & Co KG
Skandinaviendamm 212, 24109 Kiel, Germany
fon: +49 431 660 97 0, fax: +49 431 660 97 20
mailto:rnarozny_(at)_splendid.de, http://www.splendid.de



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



php::bar PHP Wiki   -   Listenarchive