GROUP-BY-Problem

Soapp

Erfahrenes Mitglied
Ich habe eine Tabelle auf einem MSSQl-Server:

PRODUCT_ID - MANDANT_ID - STATUS

213---------------------1----------------------1
213---------------------2----------------------0
..
..

Und ich habe eine Query, die einem Mandanten nur seine eigenen Produkte anzeigen soll:
(das MAX() muss ich machen, damit das GROUP-BY funktioniert)

PHP:
SELECT PRODUCT_ID, MAX(MANDANT_ID) as MANDANT_ID,
MAX(STATUS)as STATUS from PRODUKTSTATUS
WHERE MANDANT_ID = 2
GROUP BY PRODUCT_ID

Das Ergebnis ist die 2. Zeile:

213---------------------2----------------------0


PROBLEM:
Ich muss eine Dropdownbox machen: "Zeige Produkte aller Mandanten".
Wenn 2 Mandanten das selbe Produkt haben soll nur EINE Zeile erscheinen,
aber der STATUS soll der des eingeloggten Mandanten sein.

Die momentane Query ist:

PHP:
SELECT PRODUCT_ID, MAX(MANDANT_ID) as MANDANT_ID,
MAX(STATUS)as STATUS from PRODUKTSTATUS
GROUP BY PRODUCT_ID

Das ergibt aber für den MANDANTEN 1 den Status "0" (die 2.Zeile (wegen dem MAX)):

213---------------------2----------------------0

Ich hoffe ihr versteht mein Problem.
Danke, danke, danke

Soapp
 
Zuletzt bearbeitet:
Probier mal Folgende Abfrage:
Code:
SELECT
        `PRODUCT_ID`,
        `MANDANT_ID`,
        `STATUS`
  FROM
        `PRODUKTSTATUS`
  GROUP BY
        `PRODUCT_ID`
  ORDER BY
        `STATUS` DESC
 
Gumbo hat gesagt.:
Probier mal Folgende Abfrage:
Code:
SELECT
        `PRODUCT_ID`,
        `MANDANT_ID`,
        `STATUS`
  FROM
        `PRODUKTSTATUS`
  GROUP BY
        `PRODUCT_ID`
  ORDER BY
        `STATUS` DESC

Das kann glaube ich nicht funktionieren:
Group by macht aus den 4 zeilen da unten eine. bei mandant 3 müsste er mir unten die 3.zeile ausgeben, bei mandant 4 die 4.Zeile .... Da bringt das sortieren nach Status glaub ich nicht viel
Oder versteh ich was falsch ?


PRODUCT_ID - MANDANT_ID - STATUS
213---------------------2----------------------0
213---------------------1----------------------1
213---------------------3----------------------1
213---------------------4----------------------1
 
Zurück