gpt4 book ai didi

tsql - Transact-SQL 不明确的列名

转载 作者:行者123 更新时间:2023-12-04 02:23:55 24 4
gpt4 key购买 nike

我在使用 Microsoft SQL 2012 Server Management Studio 时遇到了 Transact-SQL 中“列名不明确”的问题。

我一直在查看已经发布在 Stackoverflow 上的一些答案,但它们似乎对我不起作用,其中的部分内容我根本不理解或失去了一般看法。

执行以下脚本:

USE CDD

SELECT Artist, Album_title, track_title, track_number, Release_Year, EAN_code
FROM Artists AS a INNER JOIN CD_Albumtitles AS c
ON a.artist_id = c.artist_id
INNER JOIN Track_lists AS t
ON c.title_id = t.title_id
WHERE track_title = 'bohemian rhapsody'

触发以下错误信息:

Msg 209, Level 16, State 1, Line 3 Ambiguous column name 'EAN_code'.

并不是说这是一个包含艺术家姓名、专辑名称和轨道列表的 CD 数据库。表“CD_Albumtitles”和“Track_lists”都有一列,具有相同的 EAN 代码。 EAN 码是一种重要的国际编码,用来唯一标识 CD 专辑,这就是我想继续使用它的原因。

最佳答案

您需要将别名放在选择列表和 where 子句中所有列的前面。您收到该错误是因为您当前拥有的列之一来自联接中的多个表。如果您为列设置别名,它实际上会选择一个或另一个表。

SELECT a.Artist,c.Album_title,t.track_title,t.track_number,c.Release_Year,t.EAN_code
FROM Artists AS a INNER JOIN CD_Albumtitles AS c
ON a.artist_id = c.artist_id
INNER JOIN Track_lists AS t
ON c.title_id = t.title_id
WHERE t.track_title = 'bohemian rhapsody'

关于tsql - Transact-SQL 不明确的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24759157/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com