2014-01-15 28 views
-1

我有一個表,如下所示:插入值

enter image description here

如u可以看到我的級別4欄是空的,所以我需要SQL查詢來獲得「無「如果任何特定風格(1401,1201)已經死亡爲」0「。 級別1是按風格和名稱分組的,而級別4是按風格分組的。 我得到回答1水平,但與4 水平掙扎,我試圖爲4級有些類似的做法也爲1級,但沒有得到任何想要的答案

我想要的答案是,1201 4級所有的值應該是是的,而對於1401它應該是沒有 謝謝。

+0

請格式化您的問題,我們不能看到您的4級列,如果它是空的或不是 –

+0

檢查編輯的問題 – Catalyst

+0

您正在使用哪些DBMS? Postgres的?甲骨文? –

回答

0

你可以找到每種風格的最小值dead。假設你的表被命名爲test

with cte as 
(
select style, min(cast(dead as int)) as dead 
from test 
group by style 
) 
update test 
set level4 = case when cte.dead = 1 then 'yes' else 'no' end 
from test inner join cte on cte.style = test.style 

我假設你dead標誌位,這就是爲什麼需要投給INT。

+0

我得到的答案這將是偉大的,如果你能解釋我「與cte」的東西 – Catalyst

+0

它是[公用表表達式](http://technet.microsoft.com/en-us/library /ms190766(v=sql.105).aspx)。它回答你的問題嗎? – TomT

+0

是啊,有了cte thanx的想法。 – Catalyst