|
Select выборка по списку с "загагулиной"
|
|||
---|---|---|---|
#18+
Добрый день! С утра ломаю голову на вроде-бы простым селектом. Есть таблица с двумя полями "goods_id" и "symptom_id". Например: goods_idsymptom_id13 232203204342047 даю условие: выбрать все goods_id для которых существуют записи с symptom_id 3 и 20 Т.е. выбирать только те записи которые есть в таблице одновременно с 3 и с 20. Помогите пожалуйста! Заранее спаибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2017, 15:13 |
|
Select выборка по списку с "загагулиной"
|
|||
---|---|---|---|
#18+
case when symptom_id = 3 or = 20 then symptom_id end group by goods_id having min() = 3 and max() = 20 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2017, 15:36 |
|
Select выборка по списку с "загагулиной"
|
|||
---|---|---|---|
#18+
Mironico, select goods_id from your_table where symptom_id in (3, 20) group by goods_id having count(*) = 2 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2017, 16:16 |
|
Select выборка по списку с "загагулиной"
|
|||
---|---|---|---|
#18+
WildSerycase when symptom_id = 3 or = 20 then symptom_id end Тут опечатка или FB действительно такой синтаксис допускает?.. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2017, 16:18 |
|
Select выборка по списку с "загагулиной"
|
|||
---|---|---|---|
#18+
romangr, а если эти поля не составляют уникальный индекс?.. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2017, 16:19 |
|
Select выборка по списку с "загагулиной"
|
|||
---|---|---|---|
#18+
romangrMironico, select goods_id from your_table where symptom_id in (3, 20) group by goods_id having count(*) = 2 Оооо!. Вот это оно! Большое спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2017, 16:20 |
|
Select выборка по списку с "загагулиной"
|
|||
---|---|---|---|
#18+
alekcvpromangr, а если эти поля не составляют уникальный индекс?.. Оба поля не уникальны. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2017, 16:30 |
|
Select выборка по списку с "загагулиной"
|
|||
---|---|---|---|
#18+
romangrMironico, select goods_id from your_table where symptom_id in (3, 20) group by goods_id having count(*) = 2 Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2017, 16:40 |
|
Select выборка по списку с "загагулиной"
|
|||
---|---|---|---|
#18+
Mironicoalekcvpromangr, а если эти поля не составляют уникальный индекс?.. Оба поля не уникальны. Если не уникальны, то Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2017, 16:49 |
|
Select выборка по списку с "загагулиной"
|
|||
---|---|---|---|
#18+
MironicoОба поля не уникальны. Вопрос в том, может ли быть две разных записи с, например, goods_id = 2 и symptom_id = 3? Потому что в этом случае запрос с 'having count(*) = 2' вернёт эту goods_id = 2, но по вашим условиям оно не подходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2017, 17:19 |
|
Select выборка по списку с "загагулиной"
|
|||
---|---|---|---|
#18+
alekcvp, Уже ткнули пальцем, что в такой записи должно быть count(distinct) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2017, 17:22 |
|
|
start [/forum/topic.php?fid=40&fpage=42&tid=1561472]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 135ms |
0 / 0 |