次のような製品部品表があります。 一部 部品ID 部品タイプ 製品ID -------------------------------------- 1A1 2B1 3A2 4 B 2 5A3 6 B 3 次のようなテーブルを返すクエリが必要です: 製品ID パーツAID パーツBID ---------------------------------------- 1 1 2 2 3 4 3 5 6 実際の実装では、数百万の製品部品が存在することになる。 1 回答 残念ながら、MySQL には PIVOT 関数はありませんが、集計関数と CASE ステートメントを使用してモデル化できます。動的バージョンの場合は、準備されたステートメントを使用する必要があります。 SET @sql = NULL; 選択 GROUP_CONCAT(DISTINCT 連結( 'max(part_type = '''、part_type、''' の場合、part_id 終了) AS part_'、'_id' ) ) を @sql に から 部品; SET @sql = CONCAT('SELECT product_id,',@sql,' 部品から GROUP BY product_id'); @sql からステートメントを準備します。 ステートメントの実行; DEALLOCATE PREPARE ステートメント; 列が数個しかない場合は、静的バージョンを使用できます。 product_id、max(part_type = 'A' の場合、part_id 終了) を Part_A_Id として選択し、max(part_type = 'B' の場合、part_id 終了) を Part_B_Id として選択します。 部品から product_idでグループ化 要約する 上記は、123WORDPRESS.COM が収集し、整理した MySQL 動的パースペクティブのすべてのコンテンツです。この記事が、MySQL 動的パースペクティブで発生するプログラム開発の問題の解決に役立つことを願っています。 以下もご興味があるかもしれません:
|
<<: React+TypeScriptプロジェクト構築事例解説
>>: Ubuntu 18.04 のすべての Python ライブラリを一度にアップグレードする方法
HTML、CSS、JSフロントエンドを学習中の皆さん、今回はショッピングモールの事例の実装をシェアし...
db2 データベースをホストマシンに直接インストールするのは面倒で、ユーザーや権限を巻き込むのも不便...
MySQL ログ システムで最も重要なログは、REDO ログとアーカイブ ログです。後者は MySQ...
1. Windows Server 2019 のインストールVmware に Windows Se...
目次1. まずRefとは何かを説明しましょう2. フックでのrefの使用1. HTMLDomフックで...
この記事の例では、リストのシームレスなスクロールを実現するためのvueの具体的なコードを参考までに共...
まず、このブログのケースデモンストレーション テーブルを作成します。 create table a(...
目次序文1. サービスプログラムをインストールする2. メイン設定ファイルを書く3. サブ構成ファイ...
ウィンドウ環境にmysql5.7.21をインストールします。詳細は次のとおりです。 1. MySQL...
Web デザインでは、Web サイトに表示されるデータの構造とコンテンツをユーザーが明確に理解できる...
序文最近、フロントエンドの知識をまとめており、いくつかのインタビューにも参加しました。インタビュー中...
目次1. 需要背景2. 最適化計画3. 具体的な実施3.1 フロントエンドコード3.2 背景コード4...
土曜日、本番サーバー上の Redis サーバーが利用できなくなり、エラー メッセージは次のようになり...
Dreamweaver または FrontPage を使用して HTML Web ページを作成する場...
目次概要パフォーマンス.nowコンソール.time時間精度を短縮注意事項分割して征服する入力値に注意...