簡體   English   中英

如何對列名與其主鍵相同但值不同的表執行 UNION

[英]How to perform UNION of the tables with same column name as their primary keys but different values

這是兩張表: 輸入:

Employees table:
+-------------+----------+
| employee_id | name     |
+-------------+----------+
| 2           | Crew     |
| 4           | Haven    |
| 5           | Kristian |
+-------------+----------+
Salaries table:
+-------------+--------+
| employee_id | salary |
+-------------+--------+
| 5           | 76071  |
| 1           | 22517  |
| 4           | 63539  |
+-------------+--------+

我想要一個輸出,比如你如何執行加入但使用聯合。

聯合的輸出應如下所示:

employee_id   | name       | salary 
2              crew.        null 
4.             haven.       63539 
5.             Kristian     76071
1.             null.        22517

並發布我想要執行選擇的工會,方法是選擇沒有姓名或沒有薪水的員工的employee_id

目前我正在處理的查詢:

select * from 
(select employee_id, name, null as salary from employees 
union all 
select employee_id, null as name, salary from salaries) 
as emp 
where name is null or salary is null

結果如下所示:

{"headers": ["employee_id", "name", "salary"], "values": [[2, "Crew", null], [4, "Haven", null], [5, "Kristian" , null], [5, null, 76071], [1, null, 22517], [4, null, 63539]]}

如果使用此查詢:

select * from (selectemployee_id, name from employees union all selectemployee_id,salary from paid) as emp

結果如下所示:

{"headers": ["employee_id", "name"], "values": [[2, "Crew"], [4, "Haven"], [5, "Kristian"], [5, "76071" ], [1, "22517"], [4, "63539"]]}

這是一個完整的聯接:

Select coalesce(e.employeeid, s.employeeid) employed
       e.name, e.salary
From employees e full join
     Salaries s
     On e.employeeid = s.employeeid

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM