2012-11-19 50 views
-2

我有一個數據庫表:SQL查詢來更新序號

srno | passportnumber | flightnumber 

我需要一個SQL查詢來更新srno使得srno是相同的,其中曾經passportnumber是一樣的。

我的意思是,如果護照abc123它發生在表中4次然後每次其序列號應該是所有四個相同。

+1

我們展示**你的努力工作**!我們很樂意提供幫助。另外:如果你有四行'passportnumber ='abc123'' - 那四個序列號中的哪一個將被用於所有四行? –

+0

但是哪個srno是正確的 - 如果你有不止一個 - 這將是什麼? – Dani

+0

srno可以是任何東西,任何4個都可以使用。它也可能是一個隨機數。那麼我不知道如何做到這一點,所以我沒有發佈任何代碼。 – Arbaaz

回答

1
;WITH CTE as 
(
select srno,passportnumber,flightnumbe, 
row_number() over (partition by passportnumber order by (select 0)) as rnk 
from yourtable 
) 

update CTE set srno=rnk 
+0

是這個T-sql嗎?我無法得到它在MS SQL服務器2005年工作 – Arbaaz

+0

是啊這將在MS 2005工作 – AnandPhadke

+0

您的查詢確實工作謝謝! – Arbaaz

0

據我的理解,這應該符合您的需求

update myTable 
set srno='The SRNO' 
where passportnumber='abc123' 

我建議通過一個基本的SQL教程