我正在嘗試使用JOIN運行查詢。 所以,我寫了下面的:使用SQL JOIN進行數據聯合
SELECT * FROM (SELECT trade_date, trade_time, price, contract_name
FROM test
WHERE contract_name="Z10"
AND trade_date="2010-12-01"
AND trade_time="0900")
AS A JOIN (SELECT trade_date, trade_time, price, contract_name
FROM test
WHERE contract_name="H11"
AND trade_date="2010-12-01"
AND trade_time="0900")
AS B ON (A.trade_date=B.trade_date
AND A.trade_time=B.trade_time);
它運行良好,但它返回大量的行:
+------------+------------+-------------+---------------+------------+------------+-------------+---------------+
172025 rows in set (0.31 sec)
所以我跑了低於2個查詢逐個檢查有多少最大行數我應該得到的,並且從下面的它不應該超過1000
mysql> select count(*)
from test
where contract_name="Z10"
and trade_date="2010-12-01"
and trade_time="0900";
+----------+
| count(*) |
+----------+
| 983 |
+----------+
1 row in set (0.02 sec)
mysql> select count(*)
from test
where contract_name="H11"
and trade_date="2010-12-01"
and trade_time="0900";
+----------+
| count(*) |
+----------+
| 175 |
+----------+
任何人都可以建議我如何編輯我的JOIN獲得所選擇的日期和時間2個合同的工會。
謝謝,的確,我正在從同一張表中查找結果 – itcplpl 2012-01-08 04:31:29