2017-02-27 57 views
0

我想將查詢的結果顯示爲新列,這是我的代碼,但它顯示在2個表中。將查詢結果添加爲sql中的新列

SELECT JobNo 
     ,Prepared1 
     ,Prepared2 
    FROM [test] 
SELECT 
    COUNT(CASE WHEN Prepared1 >1 THEN 1 END) + 
    COUNT(CASE WHEN Prepared2 >1 THEN 1 END) as 'Done' 
    FROM [test] 
GROUP BY JobNo 

Current result

應該是什麼我的代碼有它在1臺這樣的

desired result

+0

這看起來並不像MySQL的語法,它看起來像SQL-Server中。 – Barmar

+0

是的,我很抱歉它應該是sql-server ...謝謝你們都回復... –

回答

0

我覺得JobNo是UNIQUE。如果是這樣,你可以簡單地使用:

SELECT JobNo 
     ,Prepared1 
     ,Prepared2 
     ,CASE WHEN Prepared1 > 1 THEN 1 ELSE 0 END 
     + CASE WHEN Prepared2 >1 THEN 1 ELSE 0 END 
    FROM [test] t1 

如果不是:

select JobNo, 
    Prepared1, 
    Prepared2, 
    t2.done 
from [test] t1 
join (
    select JobNo, 
     COUNT(case 
       when Prepared1 > 1 
        then 1 
       end) + COUNT(case 
       when Prepared2 > 1 
        then 1 
       end) as done 
    from [test] t2 
    group by JobNo 
    ) t2 on t1.JobNo = t2.JobNo;