@qwas1990

Объединение двух запросов sql?

Есть два запроса к базе данных (почти идентичных) :
1. делает выборку из таблиц с условием что одно значение больше 0 и потом сортирует по одному столбцу
2. делает выборку из тех же таблиц с условием что одно значение = 0 и потом сортирует по другому столбцу

1.SELECT * FROM ..... WHERE quantity>0 ORDER BY quantity
2.SELECT * FROM ..... WHERE quantity=0 ORDER BY name

Вопрос как объединить два запроса с помощью sql или результаты с php
  • Вопрос задан
  • 204 просмотра
Пригласить эксперта
Ответы на вопрос 4
gobananas
@gobananas
finishhim.ru
Ответ написан
Комментировать
@qwas1990 Автор вопроса
UNION уже пробовал
если делать в виде
(SELECT * FROM ..... WHERE quantity>0 ORDER BY quantity) UNION (SELECT * FROM ..... WHERE quantity=0 ORDER BY name) сортировка не сохраняется
Ответ написан
Комментировать
@BI0R0B0T
Можно добавить дополнительную колонку и учитывать её в сортировке

SELECT tblName.* , if(quantity=0, 1,0) as x FROM tblName... ORDER BY x, quantity, name
Ответ написан
Комментировать
leftJoin вам в помощь
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 14:12
30000 руб./за проект
19 апр. 2024, в 14:10
500 руб./за проект