1
我想返回結果集中的計數值。此計數值使用與主要查詢不同的條件。是否有可能使用子查詢來實現這一點,即在單個查詢中?SQL - 子查詢可以與主查詢有不同的條件嗎?
SELECT ID, DESC,
(SELECT COUNT(*) FROM TABLE1 WHERE TABLE1.ID=ID AND STATUS_ID=2)
COUNT FROM TABLE1 WHERE STATUS_ID=6
我想返回結果集中的計數值。此計數值使用與主要查詢不同的條件。是否有可能使用子查詢來實現這一點,即在單個查詢中?SQL - 子查詢可以與主查詢有不同的條件嗎?
SELECT ID, DESC,
(SELECT COUNT(*) FROM TABLE1 WHERE TABLE1.ID=ID AND STATUS_ID=2)
COUNT FROM TABLE1 WHERE STATUS_ID=6
是的。
但是,如果使用同一個表中不止一次查詢/子查詢,你應該使用不同的別名,要清楚你選擇或比較
SELECT t1.ID, t1.DESC,
(SELECT COUNT(*)
FROM TABLE1 t2
WHERE t1.ID=t2.ID AND t2.STATUS_ID=2) COUNT
FROM TABLE1 t1
WHERE t1.STATUS_ID=6
是的。這有助於。我能夠正確地恢復計數。 – Radhika
您是否嘗試過此查詢到底是什麼?它是否按預期工作? –
我試過查詢。計數值不會按預期返回。 – Radhika
嘗試使用別名來區分主查詢和子查詢字段。 – Lourens