MySQL 複数の無関係なテーブルクエリデータとページング機能要件主キーと外部キーの関連付けがない 3 つのテーブルから必要なデータを取り出し、ページ分割します。 データベーステーブル構造フルーツテーブル: ナッツテーブル: ドリンクリスト: データベースは気軽に構築できますが、その方法が重要です。 主にUNION ALL演算子を使用するUNION ALL 演算子は、2 つ以上の SELECT ステートメントの結果セットを結合するために使用されます。 UNION ALL 内の SELECT ステートメントには同じ数の列が必要であることに注意してください。列も同様のデータ型である必要があります。また、各 SELECT ステートメント内の列の順序は同じである必要があります。さらに、UNION ALL 結果セット内の列名は常に UNION ALL 内の最初の SELECT ステートメント内の列名と同じになります。 //詳細なSQL文 select * FROM ( (果物からfid、fname、price、typeを選択) ユニオンオール (ナットからタイプとして nid、名前、価格、6 を選択) ユニオンオール (drinks からタイプとして did、dname、price、7 を選択) ) as fnd limit 0,10 -----fndはテーブルの別名です 最終結果MySQL で複数のテーブルをクエリする際のページング問題の解決方法mysql 1対多ページングの問題部門テーブル: tbl_dept 従業員テーブル: tbl_emp データベースSQLファイル CREATE DATABASE /*!32312 存在しない場合は*/`ssm-crud` /*!40100 デフォルトの文字セット utf8 */; `ssm-crud` を使用します。 /*テーブル `tbl_dept` のテーブル構造 */ `tbl_dept` が存在する場合はテーブルを削除します。 テーブル `tbl_dept` を作成します ( `dept_id` int(11) NOT NULL AUTO_INCREMENT, `dept_name` varchar(255) デフォルト NULL, 主キー (`dept_id`) ) ENGINE=InnoDB AUTO_INCREMENT=8 デフォルト CHARSET=utf8; /*テーブル `tbl_dept` のデータ */ `tbl_dept`(`dept_id`,`dept_name`) の値に挿入します (1、「技術部門」)、 (2、「ビジネス部門」) (6、「営業部」) (7、「人事部」) /*テーブル `tbl_emp` のテーブル構造 */ `tbl_emp` が存在する場合はテーブルを削除します。 テーブル `tbl_emp` を作成します ( `emp_id` int(11) NOT NULL AUTO_INCREMENT, `emp_name` varchar(255) デフォルト NULL, `emp_gender` char(1) デフォルト NULL, `emp_email` varchar(255) デフォルト NULL, `d_id` int(11) デフォルト NULL, 主キー (`emp_id`)、 キー `FK_tbl_emp` (`d_id`)、 制約 `FK_tbl_emp` 外部キー (`d_id`) 参照 `tbl_dept` (`dept_id`) ) ENGINE=InnoDB AUTO_INCREMENT=14 デフォルト CHARSET=utf8; /*テーブル `tbl_emp` のデータ */ `tbl_emp`(`emp_id`,`emp_name`,`emp_gender`,`emp_email`,`d_id`) の値を挿入します (1,'シャオシェン','2',NULL,6), (4,'シャオミン','1',NULL,1), (5,'小紅','2',NULL,2), (6,'小平','2',NULL,6), (7,'小張','1',NULL,1), (8,'小碕','1',NULL,1), (9,'小花','1',NULL,1), (10,'シャオヤン','2',NULL,1), (11,'小海','2',NULL,2), (12,'小強','1',NULL,6), (13,'シャオチー','2',NULL,7); ページングエラー書き込み方法(メインクエリ従業員テーブル) tbl_empから*を選択 左結合 tbl_dept d ON d.dept_id = e.d_id 制限 1,10 サブクエリを使用して問題を解決する 選択 * から ( 選択 * から tbl_empe 左結合 tbl_dept d ON d.dept_id = e.d_id GROUP BY e.d_id 制限 1,10 ) 左結合 tbl_dept d ON d.dept_id = e.d_id 以下のコードは無関係であり、バックアップのみを目的としています 選択 フィートID、 ft.partner_id AS パートナーID、 ft.code 、 ft.end_update_date は endUpdateDate として、 フィート名、 フィートタイプ、 平方フィート面積、 ft.is_default は isDefault です。 fp.id fpId、 fp.shop_id を fpShopId として、 fp.provice_id は fpProviceId として、 fp.provice_name AS fpProviceName、 fp.start_num を fpStartNum として、 fp.start_fee は fpStartFee として、 fp.increase_num を fpIncreaseNum として、 fp.increase_fee は fpIncreaseFee として、 fp.code は fpCode として、 fp.provice_text は fpProviceText として、 fp.template_id は fpTemplateId として から ( 選択 f.id、 f.パートナーID、 f.コード、 f.end_update_date 、 f.name 、 f.type 、 f.エリア、 f.is_default 、 f.is_del、 f.作成日 から バス貨物テンプレート f 左結合 bus_freight_provice p ON f.id = p.template_id ここで、f.code = p.code かつ f.code = #[code] GROUP BY f.id 制限 #{startPage}、#{pageSize} ) フィート 左結合 bus_freight_provice fp ON ft.id = fp.template_id ここで、ft.code = fp.code fp.template_id が NULL ではない かつ ft.code = #[code] かつ fp.is_del = '0' かつ ft.is_del = '0' ft.create_date 降順で並び替え 上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: よく使用される入力テキストボックスの内容は自動的に垂直方向に中央揃えされ、クリックするとデフォルトのプロンプトテキストは空になります。
目次1. 父から息子へ2. 息子から父へ3. ブラザーコンポーネント通信(バス) 4. ref/re...
1. at は、5 時間後にルート ディレクトリの at_test ファイルに「これは at タスク...
表は以下のとおりです。 HTMLソースコード結果を表示説明する< <未満記号また...
Nginx を使用して Tomcat9 クラスターを構築し、Redis を使用してセッション共有を実...
序文コードを実行してエラーが発生すると、エラーが出力されます。エラーにはスタック情報が含まれており、...
起動時に Ubuntu デュアル システムが停止する問題の解決方法 (Ubuntu 16.04 およ...
前回の記事では、Zabbix のネットワーク検出機能について学習し、アクションと組み合わせてホストの...
目次ユニオンクエリ1. 中国の各省のIDと名前を照会する2. 湖南省のすべての地級市のIDと名称3....
この記事の例では、Vueモバイル端末で指のスライド効果を実現するための具体的なコードを紹介します。具...
目次序文クロージャの紹介メモリのゴミを識別する方法クロージャのメモリ表現結論序文クロージャは、Jav...
面接には必需品、仕事でも必ず使います。うーん、誰でも分かるでしょう。これ以上何も言わずに、要約とレン...
前提条件クラウドサーバー(Alibaba Cloud、Tencent CloudなどのcentOS)...
原因docker スクリプトを実行すると、コンテナを作成できないというエラーが発生します。以下のよう...
目次CSS カスタム変数機能は古くから存在していますが、実際の開発ではあまり使用されていません。その...
Linux の /etc/network/interfaces ファイルは、ネットワーク インターフ...