|
Нужна помощь с подзапросом
|
|||
---|---|---|---|
#18+
Добрый день. Мне необходимо вывести дома, которые имеют только записи со статусами 0 (исторические записи). Таких записей у одного дома может быть несколько и только одна запись со статусом либо 1, либо 2, либо 3. Например: Вариант 1. 1. дом 1 статус 0 2. дом 1 статус 0 3. дом 1 статус 1 Вариант 2. 1. дом 2 статус 0 2. дом 2 статус 2 Вариант 3. 1. дом 3 статус 0 2. дом 3 статус 0 3. дом 3 статус 0 В запросе должны выдаваться только такие дома как в варианте 3. Строк с нулевыми статусами может быть и одна, и две, и три, и тд. Попробовала вот так: select * from house h where h.orponid in (select orponid from house where livestatus = 0 and livestatus not in (1,2,3) ) Но выдает почти все подряд. Пока вообще плохо с sql, только разбираюсь. Подскажите, пожалуйста, где ошибка. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 10:10 |
|
Нужна помощь с подзапросом
|
|||
---|---|---|---|
#18+
*Ann*, Ищите там, где max(livestatus) = 0 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 10:20 |
|
Нужна помощь с подзапросом
|
|||
---|---|---|---|
#18+
Если написать вот так, то тоже неправильно выдается результат: select * from house h where h.orponid in (select orponid from house where livestatus = 0 and livestatus not in (1,2,3) group by orponid having max(livestatus) = 0) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 10:31 |
|
Нужна помощь с подзапросом
|
|||
---|---|---|---|
#18+
Код: sql 1.
А так? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 11:43 |
|
|
start [/forum/topic.php?fid=53&fpage=30&tid=1994790]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
others: | 291ms |
total: | 412ms |
0 / 0 |