Ich habe Ergebnisse:MYSQL Filter mehrfach Reihe von zwei Listen von id
item_id subitem_id
----------------------
1 35
1 25
1 8
2 10
2 25
3 60
4 35
4 25
4 44
5 1
5 23
5 15
5 13
5 9
und ich habe zwei Listen von subitem
(25,44,1)
(8,9)
wie stelle ich die where-Klausel, um das Ergebnis zu filtern und senden Sie dieses
item_id subitem_id
----------------------
1 35
1 25 <-- first set
1 8 <-- second set
-----------------
5 1 <-- first set
5 23
5 15
5 13
5 9 <-- second set
weil diese item_id
sowohl subitem_id
von zwei enthalten
SELECT
`item_id`
FROM table
WHERE `subitem_id` in (25,44,1)
AND `subitem_id` in (8,9)
Hat nicht funktioniert, weil in einer Zeit subitem_id
haben eine ID (nicht alle Liste)
P. S. Dies ist ein einfaches Beispiel, in Wirklichkeit, die wir mit etwas mehr als 100k Datensätze beitreten Bau
Haben Sie versucht, WHERE subitem_id in (25,44,1) OR subitem_id in (8,9) '? – kyeiti
Können Sie die Logik erklären? Warum gibt 'item_id = 1' die gleiche 3 Zeile als Original zurück, aber' item_id = 5' gibt 5 von 6 zurück? –
@Juan Carlos Oropeza, tut mir leid, das ist Mistacke von Kopie einfügen – Gelid