我會盡力,盡我所能形容SQL嵌套的SELECT語句,但它是我很難總結我整個腦袋解決此問題,更不用說形容....與COUNT()
我想在一個查詢中選擇多個結果來顯示數據庫的當前狀態。我有第一列作爲一種記錄類型,第二列作爲第一列的子類別。子類別然後鏈接到下面的更多記錄,按狀態區分,形成更多的列。我需要顯示每個主類別/子類別組合,然後顯示下一列中該子類別下每個子狀態的數量。我已經知道了,以便我可以顯示唯一的組合,但我不知道如何嵌套選擇語句,以便我可以從主查詢中選擇完全不同的表的計數。我的問題在於,要顯示主類別和子類別,我可以從一個表中拉出來,但我需要從另一個表中計數。任何關於此事的想法將不勝感激
這是我的。伯爵聲明將與各狀態下的計數來代替:
SELECT wave_num "WAVE NUMBER",
int_tasktype "INT/TaskType",
COUNT (1) total,
COUNT (1) "LOCKED/DISABLED",
COUNT (1) released,
COUNT (1) "PARTIALLY ASSEMBLED",
COUNT (1) assembled
FROM (SELECT DISTINCT
(t.invn_need_type || '/' || s.code_desc) int_tasktype,
t.task_genrtn_ref_nbr wave_num
FROM sys_code s, task_hdr t
WHERE t.task_genrtn_ref_nbr IN
(SELECT ship_wave_nbr
FROM ship_wave_parm
WHERE TRUNC (create_date_time) LIKE SYSDATE - 7)
AND s.code_type = '590'
AND s.rec_type = 'S'
AND s.code_id = t.task_type),
ship_wave_parm swp
GROUP BY wave_num, int_tasktype
ORDER BY wave_num
的形象在這裏:http://i.imgur.com/JX334.png
你能介紹一下你期望的結果嗎? – 2012-07-25 18:43:58
你可以發佈你到目前爲止? – 2012-07-25 18:44:18
現在你有一個交叉連接。那是你想要的嗎?無論如何您都不應該使用隱式連接,因爲它們可以很容易地導致無意的交叉連接和其他不良情況。 IMplicit連接是SQl反模式,真的沒有理由繼續使用它們。 – HLGEM 2012-07-25 18:53:57