-
Notifications
You must be signed in to change notification settings - Fork 22
/
Copy pathSQL1378.sql
78 lines (64 loc) · 2.06 KB
/
SQL1378.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
-- Table: Employees
-- +---------------+---------+
-- | Column Name | Type |
-- +---------------+---------+
-- | id | int |
-- | name | varchar |
-- +---------------+---------+
-- id is the primary key (column with unique values) for this table.
-- Each row of this table contains the id and the name of an employee in a company.
-- Table: EmployeeUNI
-- +---------------+---------+
-- | Column Name | Type |
-- +---------------+---------+
-- | id | int |
-- | unique_id | int |
-- +---------------+---------+
-- (id, unique_id) is the primary key (combination of columns with unique values) for this table.
-- Each row of this table contains the id and the corresponding unique id of an employee in the company.
-- Write a solution to show the unique ID of each user, If a user does not have a unique ID replace just show null.
-- Return the result table in any order.
-- The result format is in the following example.
-- Example 1:
-- Input:
-- Employees table:
-- +----+----------+
-- | id | name |
-- +----+----------+
-- | 1 | Alice |
-- | 7 | Bob |
-- | 11 | Meir |
-- | 90 | Winston |
-- | 3 | Jonathan |
-- +----+----------+
-- EmployeeUNI table:
-- +----+-----------+
-- | id | unique_id |
-- +----+-----------+
-- | 3 | 1 |
-- | 11 | 2 |
-- | 90 | 3 |
-- +----+-----------+
-- Output:
-- +-----------+----------+
-- | unique_id | name |
-- +-----------+----------+
-- | null | Alice |
-- | null | Bob |
-- | 2 | Meir |
-- | 3 | Winston |
-- | 1 | Jonathan |
-- +-----------+----------+
-- Explanation:
-- Alice and Bob do not have a unique ID, We will show null instead.
-- The unique ID of Meir is 2.
-- The unique ID of Winston is 3.
-- The unique ID of Jonathan is 1.
-- Solution (PostgreSQL):
select case
when EmployeeUNI.unique_id is null then null
else EmployeeUNI.unique_id
end as unique_id,
Employees.name
from Employees
left join EmployeeUNI on (Employees.id = EmployeeUNI.id);