簡體   English   中英

列引用是含糊的sql錯誤

[英]column reference is ambiguous sql error

我正在嘗試加入4個不同的表以根據某些條件計算項目收入,我將能夠使用4個表構建正確的視圖后編寫sql查詢...下面是該視圖的查詢,我ik出現歧義列錯誤...有人可以解釋原因嗎? 謝謝你的幫助!

select top 5 g.*
from (
    select *
    from (
        (
            select a.ik
                ,b.upc as upc
                ,b.class
                ,a.units
            from Tbl1 a
            join TBL2 b
                on a.ik = b.ik
            ) c join Tbl3 d
            on c.ik = d.ik
        ) e
    join Tbl4 f
        on e.ik = f.ik
    ) g

您可以在加入時運行select *,應該放置表別名

select top 5 g.*
from (
    select *
    from (c.*,b.*
        (
            select a.ik
                ,b.upc as upc
                ,b.class
                ,a.units
            from Tbl1 a
            join TBL2 b
                on a.ik = b.ik
            ) c join Tbl3 d
            on c.ik = d.ik
        ) e
    join Tbl4 f
        on e.ik = f.ik
    ) g

很難跟蹤此查詢的操作,但是由於您使用的是子選擇,因此請在每個查詢的選擇部分中將ik包含在select中(即select a.ik as 'aliased_ik' ),嘗試對其進行別名select a.ik as 'aliased_ik'

您也不應在外部選擇查詢中使用.* ,而應使用每個單獨的列名。 如果ik在外部select查詢中,則也應為其別名。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM