Используя объединение, а затем расположите данные в порядке, начиная со второго ряда - PullRequest
0 голосов
/ 04 марта 2011

позволяет мне иметь этот запрос

select * from items where status = 'A' and staffid = '$var1' and workid != '$var2' order by seq asc

, и это приведет к

1 2 3 4 5

Но теперь у меня есть другой запрос

select * from items  where status = 'A' and staffid = '$var1' and workid = '$var2'
UNION
select * from items  where status = 'A' and staffid = '$var1' and workid != '$var2' order by seq asc

Я бы хотел, чтобы второй запрос вернул

4 1 2 3 5

Результат таков, потому что запрос перед объединением вернет «4», и после этого я хотел бы изменить результат в соответствии с последовательностью по возрастанию. Есть ли способ упорядочить результат запроса на основе второй или N-й строки? Есть ли такая техника для объединения и объединения, и для получения этого результата? если нет, может кто-нибудь показать мне другую идею. просто используя один запрос. Я знаю Theres и альтернативу, разделив оба запроса. Я просто хочу знать в этом смысле, возможно ли это. Заранее спасибо.

1 Ответ

1 голос
/ 04 марта 2011
select *,1 as tab from items  where status = 'A' and staffid = '$var1' and workid = '$var2'
UNION
select *,2 from items  where status = 'A' and staffid = '$var1' and workid != '$var2' order by tab,seq
...