SQL 查询语句求助

作者&投稿:成王兴 (若有异议请与网页底部的电邮联系)
sql查询语句求助?~

select * from order inner join event where event_name = event表中event_name对应的字段 where order.id = 指定的ID

Select
id,days
From
test
order
by
sign(
datediff
(day,getdate(),Convert(Smalldatetime,
days)))
desc
,
abs(datediff
(day,getdate(),Convert(Smalldatetime,
days)))
说明:
用当前日期与days做加减后第一排序关键字用符号(+/-)排序,结果就是大於今天的在一块,小於今天的在一块.
第二排序关键字用绝对值排序,结果正数的升序与负数的降序效果相同.
测试结果:
20100208
20100301
20100401
(今天)
20100131
20100101
20090301
20090201
20090101
(今天以前的升序,今天以後的降序)

如果 Table2 没有记录的 SN 不要查询出来的话:

SELECT a.SN, b.TIME
FROM Table1 a, (SELECT ID, MAX(TIME) AS TIME FROM Table2 GROUP BY ID) b
WHERE a.ID =b.ID AND a.SN IN('值1', '值2')
ORDER BY b.TIME

如果 Table2 没有记录的 SN 也要查询出来的话:

SELECT a.SN, b.TIME
FROM Table1 a
LEFT JOIN (SELECT ID, MAX(TIME) AS TIME FROM Table2 GROUP BY ID) b
ON a.ID =b.ID
WHERE a.SN IN('值1', '值2')
ORDER BY b.TIME