【问题标题】:Selecting from two table using joins使用连接从两个表中选择
【发布时间】:2013-06-25 06:09:56
【问题描述】:

表 1 颜色

和另一个桌子最喜欢的颜色

现在我想要输出为

我怎样才能得到这个

【问题讨论】:

  • 您是否在使用您标记的所有 RDBMS?

标签: mysql sql oracle ms-access


【解决方案1】:

怎么样

SELECT f.favColorID,
c.Color,
CASE WHEN c.colorid = f.colorid THEN 'YES' ELSE 'NO' END IsFavorite
FROM tblColours c, tblFavColours f
ORDER BY 1

SQL Fiddle DEMO

看看使用CASE Syntax

【讨论】:

  • 您应该考虑到用户可以喜欢多种颜色。
  • 我认为输出与问题中的不同。
  • @astander 是的,现在看起来很完美
【解决方案2】:

我可以用 T-SQL 方言 (Microsoft SQL-Server) 给你答案。 case when 部分在其他方言中可能有所不同。

select f.favColorID,
       c.Color,
       case when f.ColorID=c.ColorID then 'YES' else 'NO' end as IsFavorite
from   colors c
       cross join favoriteColor f
order by f.favColorID

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多