Я пытался собрать SQL-запрос, который показывает одну строку для каждой записи со значениями из другого поля, разбитого на их собственные столбцы. Как я могу показать несколько столбцов и одну строку для каждой записи?SQL Select - Как показать несколько столбцов на основе значения поля?
У меня есть таблица с данными, похожими на следующем примере:
+--------------+------------+---------------+
| Employee_Num | Client_Num | Deduction_Num |
+--------------+------------+---------------+
| 1305 | 1000 | 1 |
| 1305 | 1000 | 30 |
| 1312 | 1000 | 1 |
| 1320 | 1000 | 1 |
| 1320 | 1000 | 30 |
| 1323 | 1000 | 30 |
| 1323 | 1000 | 1 |
+--------------+------------+---------------+
Я попытался союза, но результаты все равно показывают несколько записей для каждого сотрудника. Вот что я пытался до сих пор:
SELECT Employee_Num, Client_Num, Deduction_1, Deduction_30
FROM (SELECT
Employee_Num,
Client_Num,
Deduction_Num AS Deduction_1,
Deduction_Num AS Deduction_30
FROM Employee_Deductions
WHERE client_num = 1000
AND Deduction_Num IN (1)
UNION
SELECT
Employee_Num,
Client_Num,
Deduction_Num AS Deduction_1,
Deduction_Num AS Deduction_30
FROM Employee_Deductions
WHERE Client_Num, = 1000
AND Deduction_Num IN (30)
) AS Datum
WHERE Client_Num = 1000
ORDER BY Employee_Num
Я хотел бы, чтобы это было желаемого результата:
+--------------+------------+-------------+--------------+
| Employee_Num | Client_Num | Deduction_1 | Deduction_30 |
+--------------+------------+-------------+--------------+
| 1305 | 1000 | 1 | 30 |
| 1312 | 1000 | 1 | |
| 1320 | 1000 | 1 | 30 |
| 1323 | 1000 | 1 | 30 |
+--------------+------------+-------------+--------------+
Любая помощь будет оценена.
ли несколько записей, котор вы получаете одинаковые, или есть разные данные для различных областей? – Gene