ホームページ >バックエンド開発 >PHPチュートリアル >3つのテーブルのページングクエリを実行するにはどうすればよいですか?
3 つのテーブルに対してページング クエリを実行するにはどうすればよいですか?
例: テーブル A
ID 名
1 aaa
2 bbb
3 ccc
テーブル B
5 ddd
6 eee
7 fff
テーブル C
4 aaa
8 zz z
9 xxx
確認方法結果はこんな感じです
IDで逆順に並べ替えます
9 xxx
8 zzz
7 fff
6 eee
5 ddd
4 aaa
3 ccc
2 bbb
1 aaa
best SQL で実行されるため、ページングが含まれるため、配列はソートされます この方法は適切ではありません
select * from 表Aunion allselect * from 表Bunion allselect * from 表Corder by id desc;
SQL コード?123456select * from table Bunion allselect * from table Corder by id desc
テストしました。このエラーが表示されました。なぜですか?
使用された SELECT ステートメントの列数が異なります
3 つのテーブルの他のフィールドが異なっていても問題ありませんか?
たとえば、テーブル A
id a_name
1 aaa
2 bbb
3 ccc
テーブル B
id b_name
5 ddd
6 eee
7 fff
テーブル C
id c_name
4 ああ
8 zzz
9 xxx
テーブル構造が違うのですが、方法はありますか
たとえば、テーブル A
id a_name
1 aaa
2 bbb
3 ccc
テーブル B
id b_name
5 ddd
6 eee
7 fff
テーブル C
id c_name
4 aaa
8 zzz
9 xxx
少し変更を加えます:
select * from table A a Union all select * from table B b Union all select * from table C c order by c.id desc ;
* を選択せずに、必要なフィールドを直接選択してください。
ウノインオール