gpt4 book ai didi

sql - 从多个表中选择时列名不明确

转载 作者:搜寻专家 更新时间:2023-10-30 21:57:06 25 4
gpt4 key购买 nike

我正在使用 SQL Server 2012,在从不同表中选择用户名时,我收到以下错误:

Msg 209, Level 16, State 1, Line 6 Ambiguous column name 'UserName'

SELECT *
FROM Signup,
Pers_D,
Edu_D,
Dep_S
WHERE UserName LIKE '%Hwl123%';

最佳答案

这不能以那种方式完成。逗号表示 - 您正在尝试加入这些表。不是工会。

您收到错误 Ambiguous column name 'UserName',因为多个表中包含具有该名称的列,而服务器不了解在何处应用此过滤器。

在简单的语句中,解决方案可能如下所示:

SELECT *
FROM Signup as s
WHERE s.UserName LIKE '%Hwl123%'

UNION ALL

SELECT *
FROM Pers_D as p
WHERE p.UserName LIKE '%Hwl123%'

UNION ALL

SELECT *
FROM Edu_D as e
WHERE e.UserName LIKE '%Hwl123%'

UNION ALL

SELECT *
FROM Dep_S as d
WHERE d.UserName LIKE '%Hwl123%'

这实际上就是您要尝试做的事情。

但是您的方法正在将您带到那里:

SELECT s.*, p.*, e.*, d.*
FROM Signup s
INNER JOIN Pers_D p ON p.??? = s.???
INNER JOIN Edu_D e on e.??? = ???
INNER JOIN Dep_S d on d.??? = ???
WHERE [???].UserName LIKE '%Hwl123%' ---<<< ambiguity: s.UserName? p.UserName? e.UserName? d.UserName?

关于sql - 从多个表中选择时列名不明确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38108310/

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