私はUNIONを使用して複数の行を結合しようとしていますが、追加のデータも引き出す必要があります。私の考えは、外側のクエリでUNIONを使用することでしたが、私はそれを動作させるように見えることができません。それとも私はこれについて間違っているのだろうか?外部クエリでユニオン
私が持っているデータは、このようなものです:私はこれまで来ている最も近いが、以下のようなUNION文を使用している
+------+---------+------+-------+
| ID | DayType | Time | Tasks |
+------+---------+------+-------+
| 1001 | Weekday | AM | 9 |
| 1001 | Weekend | AM | 7 |
| 1001 | Weekday | PM | 8 |
| 1001 | Weekend | PM | 2 |
| 1002 | Weekday | PM | 5 |
| 1002 | Weekend | PM | 3 |
+------+---------+------+-------+
:
+------+------+-------+---------+---------+
| ID | Time | Total | Weekday | Weekend |
+------+------+-------+---------+---------+
| 1001 | AM | 5 | 5 | 0 |
| 1001 | AM | 2 | 0 | 2 |
| 1001 | AM | 4 | 1 | 3 |
| 1001 | AM | 5 | 3 | 2 |
| 1001 | PM | 5 | 3 | 2 |
| 1001 | PM | 5 | 5 | 0 |
| 1002 | PM | 4 | 2 | 2 |
| 1002 | PM | 3 | 3 | 0 |
| 1002 | PM | 1 | 0 | 1 |
+------+------+-------+---------+---------+
私が見たいと思って何、このようなものです:次のようなものになり
SELECT * FROM
(
SELECT Weekday, 'Weekday' as 'DayType' FROM t1
UNION
SELECT Weekend, 'Weekend' as 'DayType' FROM t1
) AS X
:
+---------+---------+
| Weekday | DayType |
+---------+---------+
| 2 | Weekend |
| 0 | Weekday |
| 2 | Weekday |
| 0 | Weekend |
| 10 | Weekday |
+---------+---------+
「平日」列の数字が何であるかについての韻や理由はありませんが、何とかグループ化されていると思われます。もちろん、他にもいくつかの列がありませんが、内部クエリとして外部クエリに大きなスコープを入れることができないため、それらを引き出す方法を理解することはできません。