Hi,

Ik heb een webshop voor een klant maar ik wil 3 tabellen in 1 query hebben. Ik heb nu bijvoorbeeld

winkelwagen tabel ( om je bestellingen op te halen)
producten tabel (om naam, beschrijving enzo op te halen
custom tabel ( om je foto manchetknopen bestellingen op te halen)

Nu lukt het me wel op winkelwagen tabel te koppelen aan producten maar als ik daarbij ook de derde tabel doe dan gaat dat mis.

Zoals je ziet staat er ook een GROUP by (Dat zorgt er voor dat je dezelfde producten uit je winkelwagen maar 1 keer ziet, maar het aantal wordt dan ook samengevoegd.

Ik denk dat het probleem hier aan ligt: wagen.article = producten.id OR customs.id = wagen.custom

Die wagen.article kijkt of het een product id is maar hij moet ook controleren of wagen.custom uit custom.id komt.

Query
	$mijnWikelwagenQuery = $mysql->query("SELECT  
											wagen.id, wagen.custom, producten.soort, producten.soort_en, producten.description, producten.description_en, producten.photo, producten.name, producten.price, COUNT(wagen.id) as aantal,
											(SELECT COUNT(article) FROM cart WHERE article = producten.id AND ip = '".$_SERVER['REMOTE_ADDR']."') as productAantal,
											(SELECT id FROM cart WHERE article = producten.id AND ip = '".$_SERVER['REMOTE_ADDR']."' ORDER BY id DESC LIMIT 1 ) as lastid
										  FROM 
											cart wagen,
											products producten,
											custom customs
										  WHERE
											wagen.ip = '".$_SERVER['REMOTE_ADDR']."' AND wagen.article = producten.id OR  customs.id = wagen.custom AND wagen.deleted = 0 GROUP BY wagen.article");


Who can help me? :)
Ik heb het nu in me winkelwagen tabel gezet, dat gaat wat makkelijker

Deze query werkt perfect alleen bij mij 2e subquery (aVerguldVerzilverd) geeft hij aan dat er 1 product inzit maar er zitten 2.

En bij mijn aantal subquery telt hij het wel goed.


	$mijnWikelwagenQuery = $mysql->query("SELECT 
												products.name,
												products.price,
												products.soort,
												products.soort_en,
												( SELECT COUNT(article) FROM cart WHERE cart.ip = '".$_SERVER['REMOTE_ADDR']."' AND soort = 1 AND article != 0) as aantal,
												( SELECT COUNT(id) FROM cart WHERE cart.ip = '".$_SERVER['REMOTE_ADDR']."' AND custom_soort_knoop = 1 AND custom_soort_afbeelding = 1) as aVerguldDezelfde,
												( SELECT COUNT(id) FROM cart WHERE cart.ip = '".$_SERVER['REMOTE_ADDR']."' AND custom_soort_knoop = 2 AND custom_soort_afbeelding = 1) as aVerzilverdDezelfde,
												( SELECT COUNT(id) FROM cart WHERE cart.ip = '".$_SERVER['REMOTE_ADDR']."' AND custom_soort_knoop = 1 AND custom_soort_afbeelding = 2) as aVerguldVerschillende,
												( SELECT COUNT(id) FROM cart WHERE cart.ip = '".$_SERVER['REMOTE_ADDR']."' AND custom_soort_knoop = 2 AND custom_soort_afbeelding = 2) as aVerzilverdVerschillende,
												cart.id as idcart,
												cart.soort as soortProduct,
												cart.custom_soort_afbeelding as soortImg,
												cart.custom_soort_knoop as soortKnoop
											FROM 
												cart
											LEFT JOIN 
												products ON cart.article = products.id
											WHERE  
												cart.ip = '".$_SERVER['REMOTE_ADDR']."'
											AND
												in_cart = 1
											GROUP BY cart.article, cart.custom_soort_knoop, cart.custom_soort_afbeelding");

Reageren