连接两个表并覆盖一列

时间:2011-05-12 01:27:40

标签: sql

我正在尝试以图片附加的方式加入表格,

表1将与表2具有完全相同的记录,但一个字段不等于

我想合并它们,所以我将拥有扩展表:

  1. 拥有table2中的所有记录,如果我们忽略isempty字段,表1总是在table2中

  2. 当table1.isEmpty = 1时,合并的结果将具有isempty = 1,并且该记录将被覆盖

  3. 查看附加图片了解更多详情

    enter image description here

    enter image description here

    enter image description here

    如图所示,表3将包含表2中的所有记录,但必要时会被覆盖

2 个答案:

答案 0 :(得分:1)

SELECT A.ID, A.NAME, A.DESC, CASE B.ISEMPTY
                WHEN 1 THEN 1
                ELSE A.ISEMPTY
                END CASE AS ISEMPTY 
FROM TABLE2 A
LEFT JOIN TABLE1 B ON A.ID=B.ID

答案 1 :(得分:0)

无法理解您的数据。你想要这样的东西吗?

select table1.id, table1.name, (table1.isEmpty or table2.isEmpty) as isEmpty
from table1 inner join table2 on table1.id = table2.id