2015-11-13 50 views
0

我試圖編寫一個嵌套選擇上具有內部連接的查詢 - 但是,嵌套選擇本身需要連接兩次相同的列,使用別名val和val2。嵌套選擇內部連接 ​​- 多次使用同一列時

我想加入val2中'id'列的嵌套選擇,但我該如何指定?當我嘗試下面的查詢時,我收到錯誤「」列「id」被多次指定爲'v'。

我正在使用Microsoft SQL Server 2008 R2。

SELECT top 20 SUM(pagecount) AS totalPages, fullname, name FROM cas_sdr_history h 
INNER JOIN cas_user_ext u ON h.accountid = u.x_id 
INNER JOIN (select * from cas_val_assoc ass 
     full outer join cat_validation val2 on ass.mainid = val2.id 
     full outer join cat_validation val on ass.associd = val.id 
     where mainid is not null 
     and val2.name not in ('03','04','05','06','07','08','09','10','11','12')) v on v.id = u.x_id 
WHERE trxdate BETWEEN '11/01/2015' AND '12/01/2015' 
GROUP BY fullname, name 
ORDER BY totalPages DESC 

回答

3

由於2連接的表相同column: id

你必須選擇其中之一。如果你想獲得的所有列,您必須使用別名colums

例子:val.id AS ID, val2.ID AS ID2

+0

現在我覺得愚蠢!謝謝你的回答,那很好。 – Tommen