我会尽力,尽我所能形容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