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 を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: よく使用される入力テキストボックスの内容は自動的に垂直方向に中央揃えされ、クリックするとデフォルトのプロンプトテキストは空になります。
この記事では、LinuxシステムのVMwareインストールの具体的な手順を参考までに紹介します。具体...
1. まずリクエスト設定ファイルを見て、axios.createメソッドを見てください。baseUR...
1. 固定幅+適応型期待される効果: 左側は固定幅、右側は適応幅 共通コード: html: <...
この記事では、Taobao商品詳細のカルーセルを実現するためのvideojs+swiperの具体的な...
jQuery の登場により、DOM の操作効率が大幅に向上し、開発がより高いレベルに引き上げられまし...
これを見た後、あなたにも手ができて、さまざまな美しい小さなしっぽを作れるようになることを保証します!...
目次序文1. 文字列を分割する2. JSONのフォーマットと解析3. 複数行の文字列と埋め込み式4....
ダウンロードMySQL 公式ダウンロード、Windows (x86、64 ビット)、ZIP アーカイ...
この記事の例では、マウスに従ってボールを動かすjsの具体的なコードを参考までに共有しています。具体的...
シーンについて話すメールを送信サードパーティのウェブサイトにHTMLを埋め込む他の編集者の記事をコピ...
まずは本体から始めましょう:ウェブページを閲覧するとき、最初に目に留まるのは通常、ページの背景です。...
IE6 は PNG の透明度をサポートしていないと多くの人が言っています。実際、IE は 100%...
目次1. 配列の分離割り当て1.1 配列分離割り当てとは何ですか? 1.2 配列分離割り当てに失敗し...
メニューバーの例 1: コードをコピーコードは次のとおりです。 <!DOCTYPE html ...
目次01 非表示の列を作成する02 非表示の列に対する基本操作03 非表示の列メタデータ04 主キー...