通过联合选择获得多个字段?

时间:2016-09-28 09:43:42

标签: mysql

继续previous question

我使用以下内容从高亮表中获取用户OR文章表中也存在的所有slug:

SELECT `highlight`.`slug` from `highlight`
WHERE `highlight`.`slug` IN (SELECT `user`.`slug` FROM `user`
UNION SELECT `article`.`slug` FROM `article`)

现在的问题是我还希望从文章和用户表中选择一个标题。我已经尝试在select中添加列,但它不起作用。

我怎样才能拿出标题?

编辑:

突出显示表

id | slug
 1   blue
 2   green

文章表

id | slug | title
1    blue BT
2    pink PT

用户表

id | slug | title
1    blue BT
2    green GT
3    brown BRT

你应该出去,BT和GT作为头衔。

1 个答案:

答案 0 :(得分:0)

从头到尾:我认为您需要反过来制定查询 - SELECT两个表格中的UNION,然后在突出显示表格中(INNER) JOIN

SELECT
  a.slug, a.title
FROM
  (SELECT slug, title FROM user
   UNION 
   SELECT slug, title FROM article)
  ) AS a
INNER JOIN highlight
  ON a.slug = highlight.slug