【问题标题】:how do i select the required attributes from a union of left join and right join如何从左连接和右连接的联合中选择所需的属性
【发布时间】:2011-04-26 11:48:45
【问题描述】:

我有两个无法执行完全外连接的表,所以我正在做左外连接和右外连接的联合。 每个表都有类似的属性

tableA - one,two,three,four

tableB - one,two,three,four

(SELECT * FROM tableA 
LEFT OUTER JOIN tableB ON 
tableA.two=tableB.two) 
UNION
(SELECT * FROM tableA 
RIGHT OUTER JOIN tableB ON
tableA.two=tableB.two)

【问题讨论】:

  • 你的意思是你试图只提取每个表中的一部分列?
  • 我只需要从两个查询的联合中选择一个,两个列

标签: mysql join


【解决方案1】:

你只需要给表起别名

SELECT a1.one, a1.two, b1.one, b1.two 
FROM tableA a1 
LEFT OUTER JOIN tableB b1 
  ON a1.two=b1.two
UNION
SELECT a2.one, a2.two, b2.one, b2.two
FROM tableA a2 
RIGHT OUTER JOIN tableB b2 
ON a2.two=b2.two;

顺便说一句,on this page 中描述的“UNION ALL 和排除JOIN”方法是在 MySQL 中实现 FULL OUTER JOIN 的更可靠的方法。

【讨论】:

    猜你喜欢
    • 2016-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-13
    • 2014-02-06
    • 2012-08-08
    相关资源
    最近更新 更多