Tema: Re: REQ: MySQL uzklausa
Autorius: Laimis
Data: 2011-08-09 16:43:53
taikaika rašė:
> na gal ir paprasta, bet pacio uzklausa jau matau is tolo, kad neveiks :)
> beje, kazkas gautusi i ta puse pakeitus stai sitaip: (item_id = A.id AND
> quantity = 1) OR ..., bet tada rastu tokius uzsakymus, kurie turi bent viena
> itema is uzsakymo X, o taip yra negerai :)

Tai va, kad reikėtų tai aiškiai iš karto ir parašyti. Ana mano užklausa 
tikrai neveiks (projektuota buvo į tą variantą, kuris tau netinka; tik 
OR/AND sumaišiau), o ši — jau turėtų:

SELECT order_id FROM (
	SELECT order_id FROM order_items
	WHERE (item_id = A.id AND quantity = 1)

	UNION

	SELECT order_id FROM order_items
	WHERE (item_id = B.id AND quantity = 2)

	UNION

	SELECT order_id FROM order_items
	WHERE (item_id = C.id AND quantity = 2)
)
GROUP BY order_id HAVING COUNT(order_id) = 3