ChrisB: SELECT MIN() bringt mehrere Werte zurück

Beitrag lesen

Hi,

Es gibt folgende Tabellen
Tabelle serviceproperty

ServicePropertyID ServiceID ServiceProperty
10                      3               blau
6                       2               blabla
1                       1               Amex
14                      4               oben
15                      4               links
16                      4               rechts
4                       1               Visa

Tabelle productservice

ServicePropertyID,ProductID
10                2
6                 2
1                 2
14                2
15                2
16                2
4                 2

Mit dieser Abfrage:

SELECT A.ServiceID
FROM serviceproperty A
JOIN productservice B ON B.ServicePropertyID = A.ServicePropertyID
WHERE B.ProductID = 2
GROUP BY A.ServiceID
ORDER BY A.ServiceID ASC

  
Der JOIN liefert also alle Datensätze aus der ersten Tabelle zurück, weil es für B.ProductID = 2 zu jeder ServicePropertyID aus B auch eine gleiche in A gibt.  
  

> bekomme ich zurück:  
> ServiceID  
> -------------  
> 1  
> 2  
> 3  
> 4  
  
Und was wundert dich daran? Schließlich hast du nach A.ServiceID gruppiert.  
  

> Ich möchte aber nur die kleinste ServiceID haben, also nur 1  
  
Dann willst du vielleicht \*nicht\* nach der ServiceID gruppieren?  
  
MfG ChrisB  
  

-- 
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?