Kod
1 1 1
2 1 2
3 1 3
4 2 3
5 3 2
6 3 3
7 4 2
8 4 3
9 5 1
10 5 90
11 6 8
2 1 2
3 1 3
4 2 3
5 3 2
6 3 3
7 4 2
8 4 3
9 5 1
10 5 90
11 6 8
W jaki sposób wybrać rekordy podając jako warunek [id3=1 and id3=2] żeby zwróciło wyłącznie id2 rekordów które zawierają i id3=1 i id3=2 grupując po id2?
Użyłem GROUP_CONCAT:
Kod
SELECT GROUP_CONCAT(
CAST(id3 as CHAR)
) AS aaa FROM doc_tags_links
GROUP BY id2
CAST(id3 as CHAR)
) AS aaa FROM doc_tags_links
GROUP BY id2
i załóżmy że podając warunek o którym piszę wyżej otrzymuję tabelę:
Kod
(id3)
1,2
2
2
1
1,2
2
2
1
Mogę teraz dać warunek WHERE id3 = '1,2' ... ale wiadomo, takie szukanie to string (choć nie wiem czy MySQL domyślnie nie traktuje tego jako SET) + muszę podać odpowiednią kolejność id bo gdy podam WHERE id3 = '2,1' to wiadomo nie znajdzie mi tych rekordów.
Pojawia się pytanie czy można to rozwiązać jakoś inaczej?