PDA

View Full Version : Hỏi về UNION?



mykenty
15-11-2006, 02:03
Mình có 2 câu query để lấy top10 theo A và top10 theo B, mình UNION lại nhưng khi ORDER thì nó báo lỗi, vd như sau:

(SELECT TOP 10 * FROM Song ORDER BY Viewed DESC)
UNION
(SELECT TOP 10 * FROM Song ORDER BY Download DESC)

Bạn nào chỉ giúp hay có cách nào khác tương tự

tuanpq
15-11-2006, 13:56
SQL ko cho ORDER kiểu đó. Phải làm như vầy nè :
(select .....)
union
(select ......)
ORDER BY ....

Thân,

mykenty
15-11-2006, 16:12
nếu như vậy thì sai tiêu chí mình cần chọn lọc rồi.
Mình cần Top 10 Viewed và Top 10 Download ra thành 1 table

xbacala
15-11-2006, 21:18
Thế phải dùng sub-query
SELECT * FROM
(SELECT TOP 10 * FROM Song ORDER BY Viewed DESC) AS TB1

UNION

SELECT * FROM
(SELECT TOP 10 * FROM Song ORDER BY Download DESC) AS TB2

mykenty
16-11-2006, 00:51
chính xác cám ơn bác Xambala nhiều :D