2010-01-20 22 views
0

我想根據條件數來計算總線數量。問題是在一個子查詢中返回2行。如果所有條件都成立,我期待伯爵= 1。但它是根據返回的行給出的。你可以幫助我如何才能比較行而不是返回行。如何比較行,並在查詢中返回它

+0

請澄清你的問題。你的子查詢返回2行?你不喜歡那樣?你可以發佈你的SQL嗎? – Tomas 2010-01-20 10:05:38

+0

以下是根據以下條件返回2行的子查詢...我只想比較而不是結果。這樣做的任何方式 \t \t SELECT \t \t \t 'X' \t \t FROM \t \t \t DP \t \t WHERE \t \t \t DP_ID = DPT.dp_id \t \t \t具有DPT.p_datetime =分鐘(p_datetime )或DPT.a_datetime =最大(a_datetime) – sam 2010-01-20 10:43:32

+0

在這我得到2行與最小和最大時間。我想要的只是比較而不是行。 – sam 2010-01-20 10:45:21

回答

0

在您的評論中,您聲明這是返回兩行的子查詢。

SELECT 'x' FROM DP WHERE dp_id = DPT.dp_id having DPT.p_datetime = min(p_datetime) or DPT.a_datetime = max(a_datetime) 

您想比較什麼?如果你想在你的外部查詢行子查詢返回任何你可以使用EXISTS關鍵字:

SELECT * FROM DTP WHERE EXISTS (SELECT 'x' FROM DP WHERE dp_id = DPT.dp_id having DPT.p_datetime = min(p_datetime) or DPT.a_datetime = max(a_datetime)); 

那是什麼意思?如果不是,請澄清你的意思是「比較行」,因爲它比較模糊。