我发布此问题是因为我确实找到了a similar question,但他们没有使用别名。
我有两张桌子 - 我想从table1
抓取所有内容,然后从user_name
抓取Team
和table2
。
我的原始查询是抓取table2
SELECT *
FROM qabin.allqas t1
JOIN login.users t2
ON (t1.Submitter = t2.user_name)
WHERE t1.Status='Complete'
这一切都很好,很好,但我想得到user_name
和Team
为了让事情变得更有趣,它们位于不同的数据库中,尽管它不是一个问题。
一个位于qabin
数据库中,另一个位于login
数据库中。
我试过了:
SELECT
qabin.allqas.* AS t1,
login.users.Team,
login.users.user_name
JOIN login.users t2
ON (t1.Submitter = t2.user_name)
WHERE t1.Status='Complete'
我需要t1和t2别名,因为它们在别处用于构建更大的查询字符串。
提前致谢!
答案 0 :(得分:1)
为什么不使用子查询?
SELECT *
FROM qabin.allqas t1
JOIN (SELECT user_name, Team FROM login.users) t2
ON (t1.Submitter = t2.user_name)
WHERE t1.Status='Complete'
答案 1 :(得分:1)
您无法为一组列使用一个别名(t1)。我想你要找的是:
SELECT t1.*, t2.team, t2.user_name
FROM qabin.allqas t1
JOIN login.users t2
ON (t1.Submitter = t2.user_name)
WHERE t1.Status='Complete'
我建议使用t1中的实际列名而不是t1。*
答案 2 :(得分:1)
尝试此查询:
SELECT t1.*, t2.user_name, t2.Team
FROM qabin.allqas t1
JOIN login.users t2
ON t1.Submitter 1= t2.user_name
WHERE t1.Status='Complete'