Probleem met JOIN
Ik heb 4 tabellen.
-------------
|ranges
|===========
|id
|name
-------------
------------------------
|configuration_items
|======================
|id
|name
|price
|configuration_list_id
------------------------
----------------------------
|configuration_item_ranges
|==========================
|range_id
|configuration_item_id
----------------------------
----------------------
|configuration_lists
|====================
|id
|name
----------------------
Een configuration_list bestaat uit meerdere configuration_items
Een configuration_item is uniek op een combinatie van ranges per configuration_list
Het aantal ranges per configuration_item is ook nog variabel, maar daar zal ik jullie op dit moment niet mee lastig vallen. Dus we gaan er even vanuit dat een configuration_item aan 2 ranges zit.
Dus configuration_list 1 kan bijvoorbeeld bestaan uit
-------------------------------------------------
|configuration_item_id |price |range 1 |range 2 |
|===============================================|
|1_____________________|5_____|1_______|2_______|
|2_____________________|6_____|1_______|3_______|
-------------------------------------------------
Configuration_list 2 kan bestaan uit
-------------------------------------------------
|configuration_item_id |price |range 1 |range 2 |
|===============================================|
|3_____________________|7_____|1_______|2_______|
|4_____________________|3_____|1_______|4_______|
-------------------------------------------------
Probleem stelling
Nu wil ik een configuration_item ophalen terwijl ik het configuration_list_id heb, en de bijbehorende range_ids.
Nu heb ik daar de volgende query voor (maar deze werkt niet naar behoren:
SELECT
ci.*
FROM
configuration_items ci
LEFT JOIN
ranges r
ON
ci.ranges_id = r.id
AND
ci.ranges_id = 1
AND
ci.ranges_id = 4
WHERE
ci.configuration_list_id = 2
LIMIT 0,1
Hier zou ik dus configuration item 4 moeten krijgen. Maar ik krijg 3.
Ik heb wel een oplossing met inner selects, maar dit is ontzettend traag, dus geen optie.
Wie helpt me!
Gewijzigd op 22/07/2010 15:04:49 door Spike Spade
moment, moet de tabellen even duidelijker maken. Spaties werden gestript
Gewijzigd op 22/07/2010 15:07:11 door Spike Spade