質問があります。MySQL - 1つに結合して2列並べ替え
私は1つのテーブルの2つのカラムを1つのカラムに結合するSQLクエリを作成していますが、結果はそのカラムで昇順にソートされます。
だから、私たちは自動インセプションのIDがのテーブルを持っているとしましょう。同じテーブルに列parentIDがあります(0でも既存のIDでもかまいません)。
ID | parentID | column1 | column2 | number
-------------------------------------------
1 | 0 | data | data | 1
2 | 0 | data | data | 1
3 | 1 | data | data | 1
4 | 2 | data | data | 1
5 | 0 | data | data | 1
6 | 4 | data | data | 1
7 | 1 | data | data | 1
そして、私はIDとPARENTIDが参加し、一緒にソートされる場所結果を取得したいと思います。だからテーブルは見えるでしょう。 (PARENTIDはそれがIDによってソート、0になる場合)
ID | parentID | JOINEDCOLUMN | column1 | column2 | number
-------------------------------------------
1 | 0 | 1 | data | data | 1
3 | 1 | 1 | data | data | 1
7 | 1 | 1 | data | data | 1
2 | 0 | 2 | data | data | 1
4 | 2 | 2 | data | data | 1
6 | 4 | 4 | data | data | 1
5 | 0 | 5 | data | data | 1
(私は、結果として結合列が、ソートされたテーブルからデータを望んでいない - > PHP ...)
SELECT
id as JOINEDCOLUMN, parentID, column1, column2, column3
FROM table
WHERE number = 1
UNION
SELECT
parentID, parentID, column1, column2, column3
FROM table
WHERE number = 1 AND parentID <> 0
ORDER BY `JOINEDCOLUMN` ASC
あなたはより多くのそれを説明することができますか? –