2013-07-28 15 views
2

SQL命令:從表SQL命令:get分鐘日期和時間從表

 
TblAzmon: 
Acode(pk) | Aname  | Adate  | Ahour | ADcode_fk 
---------------------------------------------------------------------------- 
1   system   1358/05/05  08:00  2 
2   graphic  1389/05/05  08:00  1 
3   simulation  1392/05/06  07:30  1 
4   math   1389/05/05  09:00  1 

我要爲經理(ADcode)輸出的日期和時間來獲得最小的獲得分鐘日期和時間。

希望的輸出:[其中ADcode_fk = '1']

 
Acode | Adate  | Ahour 
---------------------------------- 
2   1389/05/05 08:00 

SQL命令:

select Acode,Adate,Ahour from TblAzmon<br> 
where Adate in (select min(Adate) from TblAzmon where ADcode_fk='1') 
And Ahour in (select min(Ahour) from TblAzmon where ADcode_fk='1') 

輸出:----------> 0行 - NULL

  • 提示:所有列都是文本類型。除Acode欄外。

請編寫SQL代碼。

+2

其他人提供了答案。您的查詢的問題是您正在查找最短日期和最小時間_separately_。沒有碰巧有一行有_both_值。 – HABO

回答

0

假設你的意思是日期和時間的最早的組合,你可以用order bytop做到這一點:

select top 1 * 
from tblAzmon a 
order by Adate, Ahour 
3

你可以使它這樣,使用order bytop

select top 1 * 
from tblAzmon a 
order by Adate, Ahour 
+0

我wouldnt使用,如果我打算經常執行查詢。如果你不,它很好。 – Matthias

0

您的SQL不起作用,因爲您一次選擇minHour和minDate,並且由於min(Date)不具有min(小時),所以您返回0行。

U需要將它們分開並逐個選擇它們。與你應該能夠自己做=)

SELECT Acode,Adate,min(Ahour) 
FROM (Select Acode,min(Adate),Ahour FROM TblAzmon WHERE ADcode_fk='1') t 
WHERE ADcode_fk='1'