2016-05-13 5 views
-1

ich die Aufzeichnungen von zwei spezifischen Namen in einzelnen Spalte holen wollen, aber diese Abfrage funktioniert nicht für mich,Suchen von Datensätzen durch spezifische zwei Namen mysql

SELECT * 
FROM orders_custom oc 
    INNER JOIN group_options go 
    ON oc.group_option_id = go.group_option_id 
    WHERE orderedProduct_id = '40476' 
     AND go.is_default = 1 
     AND oc.group_name = 'size' 
     AND oc.group_name = 'base' 

was der richtige Weg ist, es zu schreiben?

+0

Was ist OrderedProduct_id und welche Tabelle hat dieses Feld? –

+0

orders_custom table hat dieses Feld. –

Antwort

2

Diese Abfrage

SELECT * FROM orders_custom oc 
INNER JOIN group_options go ON oc.group_option_id = go.group_option_id 
WHERE orderedProduct_id = '40476' 
    AND go.is_default = 1 
    AND oc.group_name in ('size','base') 

Oder können Sie die Namen Bedingungen in einer OR Klausel

AND (oc.group_name = 'size' OR oc.group_name = 'base' OR ...) 
+0

Dies ist die genaue Antwort, danke. –

1

Sie müssen OR verwenden, siehe Beispiel unten:

SELECT * FROM orders_custom oc 
INNER JOIN group_options go 
    ON oc.group_option_id = go.group_option_id 
WHERE orderedProduct_id = '40476' AND go.is_default = 1 AND (oc.group_name = 'size' OR oc.group_name = 'base') 
2

letzten angeben oc.group_name sollten Sieverwenden 10 oder IN.

+0

Es hat für mich funktioniert, danke. –

Verwandte Themen