Задавайте вопросы, мы ответим
Вы не зашли.
есть таблица PROBLEMS
id contr text status
id порядковый номер
contr - ид контрагента, по которому создана задачча
text описание проблемы
status Статус 1 создана, 2- решено, 3 -проверено/закрыто
Задача:
из этой таблицы вывести 3 последние проблемы + все открытые задачи(со статусом 1).
например.
Таблица
1 Автоваз Ремонт 2
2 Автоваз ТО 1
3 Автоваз Замена масла 3
4 Автоваз Ремонт 2
5 Автоваз ТО 1
6 Автоваз Замена масла 3
Должны выбраться строки 6 5 4 (как последние) и 2 (как нерешенная). Результат:
6 Автоваз Замена масла 3
5 Автоваз ТО 1
4 Автоваз Ремонт 2
2 Автоваз ТО 1
КАК??? я и юнионом пробовал. никак не получается.
SELECT id,contr,text,status from problems order id DESC Limit 3
union
SELECT id,contr,text,status from problems where status=1 group by 1,2,3,4
по идее вот так бы зашло, но лимит можно применять только к последней строке. Если поменять наоборот, то выведется только 3 строки. Это невозмножно?
Отредактированно qwerty (11.03.2016 20:36:00)
Неактивен
select * from (SELECT id,contr,text,status from problems order id DESC Limit 3)
union
SELECT id,contr,text,status from problems where status=1
Неактивен