2016-07-22 136 views
0

我需要一個SQL查詢,我需要SQL查詢變量

SELECT MachineID from TABLE1 

幫助,然後

Count(Passfail) from TABLE2 WHERE MachineID= *MACHINEID 

from the SELECT聲明之前到一個表

+0

,你能否告訴我們簡化表結構,樣本數據和預期產出? – artm

+0

你的問題沒有意義。如果在第二個查詢中,您已經知道機器ID,那麼爲什麼甚至需要第一個查詢呢? –

+0

TABLE1 具有設備ID和計算機名 表2 通過失敗和設備ID 我需要的輸出將 機號1 通過失敗10 我的horrilbe解釋道歉,因爲IM在這個 – Xion

回答

0

你幾乎寫在那裏。你需要閱讀了一下就連接和SQL group by

select T1.MachineId, count(T2.Passfail) from 
Table1 T1 inner join Table2 T2 on T1.MachineId = T2.Machine Id 
group by T1.MachineId 

編輯: 對於依賴於通過失敗的值單獨計數,我會使用:

select T1.MachineId, 
sum(case when T2.PassFail='pass' then 1 else 0 end) as 'pass', 
sum(case when T2.PassFail='fail' then 1 else 0 end) as 'fail' 
from Table1 T1 inner join 
Table2 T2 on T1.MachineId = T2.machineId 
group by T1.machineId 
+0

你好!感謝您的迅速回復! 如果我有2個計數語句放入,該怎麼辦?例如count(passfail)WHERE passfail =「pass」和count(passfail)WHERE passfail =「fail」?該聲明是否與此類似? – Xion

+0

我修改了我的答案以適應您的新要求@Xion – Ash

+0

非常感謝!這符合我所需要的 – Xion