2011-07-29 24 views
0

只是一个快速的问题。检查了许多网站无济于事!我需要堆栈帮助!选择与添加IDENTITY列

SQL精简版!

有一个查询:

SELECT w.url 
FROM Company c, Website w, Users u 
WHERE w.companyID = c.companyID AND c.userID = u.userID AND u.userID = 23 
ORDER BY w.url ASC; 

我知道它不是最好的查询,但基本上它返回的网站,其中用户ID是23的列表,它返回像一个列表:

URL 
----------------- 
facebook.com 
stackoverflow.com 
google.com 
... 
etc 

不过,我想在SELECT语句中添加一列。所以我的结果会像这样:

URL    | ID 
------------------|--------- 
facebook.com  | 1 
stackoverflow.com | 2 
google.com  | 3 
...    | ... 
etc    | onward 

我试过很多方法,包括子查询和东西,但我使用SQL CE!当我选择我的列时,我不喜欢运行时输入“=”。

我认为它是一个简单的解决方案,但我不能做IT :(

我用尽的那

SELECT w.url, count(*) as id 
SELECT w.url, IDENTITY as id 

和多种变化

编辑:!我想的ID从1递增尽管如此,很多唱片还是有无数的唱片回报或订单或者是什么!

干杯,

亚历克斯

+0

为什么不添加一个Id到'网站'? –

+0

网站确实有一个ID,但我希望id列能够从1运行到有多少条记录,无论有哪些记录被返回! –

回答

0
SELECT w.url, ROW_NUMBER() OVER (ORDER BY w.url ASC) 
FROM Company c, Website w, Users u 
WHERE w.companyID = c.companyID AND c.userID = u.userID AND u.userID = 23 
+1

OVER关键字不受支持我不认为:这就是发生的错误。除非它的ROW_NUMBER()不支持 –

+0

@ AlexMorley-Finch,嗯,我刚刚注意到你已经标记了Sql-CE的问题,我不相信支持ROW_NUMBER()...我的歉意。 –