如何引用UNION列

时间:2018-05-10 03:43:57

标签: sql postgresql union

给出查询

SELECT t1.username, t1.email, t2.color FROM t1
UNION (SELECT * FROM t2)

现在在第一个选择中我无法引用t2,我得到了

missing FROM-clause entry for table "t2"`

所以我假设我需要为联合选择别名,如:

UNION (SELECT * FROM t2) AS t

但我也遇到了语法错误。解决这个问题的正确方法是什么?

示例:http://sqlfiddle.com/#!9/96d5cf/3

表t1:

--username |    email
tom             tom@example.com
alex            alex@example.com

表t2:

--color
black
blue

预期结果:

col1        col2...
value1      value2...
value11     value21...

1 个答案:

答案 0 :(得分:1)

如果我没有做错,为了获得颜色值,您需要通过主键t1(username/userid)和表{{1}之间的外键t2(t1.username/t1.userid)定义关系 }和t1。所以,查询将是

t2