Kom ihåg mig?
Home Menu

Menu


MySQL - välja rader som uppfyller flera villkor

 
Ämnesverktyg Visningsalternativ
Oläst 2013-08-15, 14:02 #1
mephisto73s avatar
mephisto73 mephisto73 är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jan 2008
Inlägg: 730
mephisto73 mephisto73 är inte uppkopplad
Mycket flitig postare
mephisto73s avatar
 
Reg.datum: Jan 2008
Inlägg: 730
Citat:
Ursprungligen postat av linusoleander Visa inlägg
Kod:
SELECT * FROM products P 
LEFT JOIN product_properties PP ON PP.product_id = P.ID 
LEFT JOIN property_values PV ON PV.ID = PP.property_ID 
WHERE property_values.value = 'crossover' AND property_values.value = 'red';
Returnerar noll rader!?

Jag tror dock att jag är en lösning på spåren:

Kod:
SELECT bp.ID FROM `base_products` bp 
JOIN product_properties pp ON pp.product_id=bp.ID
JOIN product_properties_values ppv ON pp.property_value_id = ppv.ID
WHERE ppv.value IN ('16','21') OR ppv.value IN ('blå')
GROUP BY ID HAVING COUNT(*) = 2
Där jag skippar "AND" mellan villkorsgrupperna och istället använder "OR", samtidigt som jag villkorar gruppningen av de returnerade raderna:

Kod:
GROUP BY ID HAVING COUNT(*) = 2
Där 2 motsvarar antalet egenskapsgrupper eller villkorsgrupper jag vill att de returnerade produkterna skall uppfylla.
mephisto73 är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 08:47.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017