ホームページ >バックエンド開発 >PHPチュートリアル >3つのテーブルのページングクエリを実行するにはどうすればよいですか?

3つのテーブルのページングクエリを実行するにはどうすればよいですか?

WBOY
WBOYオリジナル
2016-06-23 14:04:42930ブラウズ

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 ;

* を選択せず​​に、必要なフィールドを直接選択してください。

ウノインオール

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。