是否可以合并以下两个查询,并具有默认值 offline
为了 status
当它没有匹配的条目时?
示例:
SELECT
Objects,
COUNT(*) AS Objects_count
FROM
table1
GROUP BY
Objects
---------------------------------
Objects | Objects_count
---------------------------------
Unitied_states | 2
Germany | 2
Turkey | 1
Kuwait | 2
第二个查询:
注:当状态不等于1时,表2中没有该项。所以在表2中我们只有在线的条目。
SELECT
Objects,
CASE
WHEN status = 1 THEN 'ONLINE'
END AS Status
FROM
table2
WHERE
status = 1
GROUP BY
Objects
--------------------------
Objects | Status
--------------------------
Unitied_states | Online
Turkey | Online
我希望最终的输出是
-------------------------------------------
Objects | Objects_count | Status
-------------------------------------------
Unitied_states | 2 | Online
Germany | 2 | Offline
Turkey | 1 | Online
Kuwait | 2 | Offline
3条答案
按热度按时间50pmv0ei1#
是的,这是可能的,通过做一个
FULL OUTER JOIN
.我也认为你想
JOIN
上Objects
列:dldeef672#
使用以下命令尝试
left join
上的表1和表2Objects
.owfi6suc3#
我将使用相关子查询:
这将返回
table1
以及状态。或者,如果
table2
没有重复行,可以使用简单的LEFT JOIN
和聚合: