2012-11-19 53 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教程