MySQL查询返回特定的行值取决于

时间:2011-12-14 19:22:24

标签: mysql

RE,

我有两张桌子。我想运行一个SELECT查询,我将选择table1.*和一个将返回的“虚拟”columnX

  • table1.columnB = table2.columnB
  • 如果在table2 中找不到匹配项,则

提前致谢。

2 个答案:

答案 0 :(得分:5)

SELECT 
   t1.*,
   (CASE WHEN t2.columnB IS NOT NULL THEN 'YES' ELSE 'NO' END) as columnX
FROM
   table1 t1
   LEFT OUTER JOIN
   table2 t2
     ON  t1.columnB = t2.columnB

答案 1 :(得分:1)

有一些基本结构:

您可以使用UNION来获取具有不同where子句的这些值,

当预期列为空时,您可以使用NVLOUTER JOIN替换值,

在某些SQL环境中,您可以使用DECODE更改返回值

在某些SQL中,您可以使用CASE语句。