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 を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: よく使用される入力テキストボックスの内容は自動的に垂直方向に中央揃えされ、クリックするとデフォルトのプロンプトテキストは空になります。
ダウンロードしてインストールします。まず、システムに MySQL または MariaDB があるかど...
CentOS7 64でのMySQL5.6.40のインストール手順1) 以前にインストールしたMySQ...
最近 Django を導入しましたが、MySQL を手動でインストールしたくなかったので、Docke...
スロットとは何ですか?スロット ディレクティブは v-slot であり、現在 slot と slot...
<br />一部のWebサイトでアップロードする場合、「参照」ボタンをクリックすると[フ...
CocosCreator バージョン: 2.3.4 Cocos には List コンポーネントがない...
ログポイントベースのレプリケーション1. マスターデータベースとスレーブデータベースに専用のレプリケ...
ごみ箱機能をオンにすると、削除されたファイルの元のデータをタイムアウトなしで復元できるため、誤って削...
js コードをデバッグするには、コード内にデバッガーを記述するか、Chrome で毎回ブレークポイン...
序文注: テストデータベースのバージョンはMySQL 8.0ですテーブルを作成し、ユーザー scot...
この記事では、centos6.6 で php7 + nginx 環境をインストールする方法について説...
deepinとUbuntuどちらもdebianをベースにしたディストリビューションであり、ここではU...
mysqlのリモートアクセス権を有効にするデフォルトでは、MySQL ユーザーにはリモート アクセス...
Alibaba Cloud サーバーを購入した後、新しいインスタンスが正常に動作できるようにするには...
個人的には、WeChat アプレットの開発フレームワークは VUE と概ね似ていると感じていますが、...