Oke ik heb een probleem met het ophalen van bepaalde data.

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!
moment, moet de tabellen even duidelijker maken. Spaties werden gestript
(sorry krijg mijn reactie niet verwijderd)

Reageren