ugrás a tartalomhoz

Mysqlben szürés a join egyik oldalán álló rekordok száma alapján

therest · 2012. Jan. 8. (V), 19.40
Sziasztok!

Elakadtam egy lekérdezésnél: Adott két tábla egyikben albumok, másikban a hozzájuk tartozó képek.
Elegánsan hogyan lehet lekérdezni azokat az albumokat, amikhez több kép tartozik mint egy?
Szörnyeteg módon meg tudtam oldani, de amikor ránéztem a "művemre" elborzadtam. :)
 
1

Egy fapados megoldás

tisch.david · 2012. Jan. 8. (V), 22.16
Szia!

Szerintem ezt a következő módon is le tudod kérdezni:
SELECT DISTINCT A.*
FROM ALBUM A
  JOIN BORITO B1 ON B1.ALBUM_KOD = A.KOD
  JOIN BORITO B2 ON B2.ALBUM_KOD = A.KOD AND B2.KOD <> B1.KOD
Üdv:

Dávid
2

Having

react · 2012. Jan. 8. (V), 23.29
vagy egyszerűen having-el:

SELECT 
  albums.album_id,
FROM
  albums 
  INNER JOIN pictures 
    ON albums.album_id = pictures.album_id 
GROUP BY albums.album_id 
HAVING COUNT(pictures.id) > 1 
3

Köszi

therest · 2012. Jan. 10. (K), 01.22
Köszönöm a válaszokat! Having sosem jut szembe. :(