У меня есть таблица sql, аналогичная приведенной ниже. И я хочу вернуть уникальные результаты, где tag_id соответствует нескольким элементам.
Поэтому, если я хочу найти каждый image_id
, у которого есть tag_id = 106 and 73
, я бы хотел вернуть image_id 12345714 and 12345712
.
Я пытался сделать
SELECT *
FROM tag_relationship
WHERE tag_id
IN ( 106, 73 )
Но это возвращает
id image_id tag_id
61 12345706 73
70 12345712 73
72 12345712 106
76 12345714 73
77 12345714 106
Я также экспериментировал с GROUP BY
, но это не совсем верно.
Образец полной таблицы:
image_id
может иметь одно и то же число в разных строках, но будет иметь другой tag_id
.
id image_id tag_id
1 12345679 63
2 12345679 83
3 12345680 74
4 12345680 108
5 12345680 75
6 12345683 103
7 12345682 87
8 12345682 105
9 12345682 74
10 12345682 81
11 12345683 79
12 12345683 109
13 12345689 111
14 12345689 69
15 12345690 104
16 12345687 110
17 12345687 69
18 12345687 91
19 12345687 93
20 12345687 63
21 12345692 69
22 12345692 104
23 12345692 80
24 12345692 76
25 12345693 74
26 12345693 99
27 12345693 96
28 12345693 94
29 12345691 63
30 12345691 69
31 12345697 92
32 12345697 76
33 12345698 74
34 12345699 97
35 12345698 94
36 12345699 98
37 12345698 81
38 12345699 105
39 12345697 91
40 12345694 100
41 12345694 101
42 12345694 94
43 12345694 74
44 12345696 78
45 12345696 95
46 12345696 112
47 12345701 113
48 12345701 114
49 12345700 94
50 12345700 91
51 12345700 90
52 12345702 87
53 12345702 115
54 12345702 80
55 12345702 74
56 12345704 78
57 12345705 83
58 12345705 84
59 12345704 63
60 12345705 104
61 12345706 73
62 12345706 64
63 12345706 86
64 12345706 88
65 12345706 89
66 12345713 80
67 12345713 115
68 12345713 81
69 12345717 63
70 12345712 73
71 12345717 64
72 12345712 106
73 12345717 79
74 12345712 74
75 12345709 76
76 12345714 73
77 12345714 106
78 12345715 68
79 12345716 116
80 12345715 69
81 12345716 71