次のような製品部品表があります。 一部 部品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 ライブラリを一度にアップグレードする方法
序文運用・保守を行う人がスキルを持っていなければ、サーバーを操作するのに恥ずかしさを感じてしまうと言...
<テンプレート> <div class="アプリコンテナ"&...
この記事では、トークンログイン認証を実装するためのVUEの具体的なコードを例として紹介します。具体的...
メタ宣言注釈の手順: 1. モバイル ページと 1 対 1 で対応するすべての PC ページを分類し...
この記事では主に、レイアウトに役立つ、HTML ページ内の一部のコンテンツを固定してスクロール時にス...
質問特定の MySQL 接続について、それがどのクライアント プロセスからのものであるかをどのように...
目次1.1. IP経由のコンテナ間のネットワークアクセス1.2. コンテナ名またはコンテナIDによる...
例示するMySql Community Edition は、5.7.11 以降、テーブルベースのデー...
1. テーブル リセットの 2 つのプロパティ: ①border-collapse: collaps...
プロジェクトでは、プロジェクトが呼び出すカスタム パブリック コンポーネントに遭遇します。通常、pr...
HTTPS ウェブサイトの構築コストが下がるにつれて、ほとんどのウェブサイトが HTTPS プロトコ...
2つの小さな問題ですが、長い間私を悩ませていました。最初の質問テキストエリアの左側のテキストは常にテ...
フォームが送信されると、返された HTML ページが再レンダリングされ、SELECT コントロールの...
目次文字セット比較ルール4つのレベルの文字セットと比較規則3つのシステム変数このノートは主にMySQ...
エラーメッセージ:エラー 2002: ソケット '/tmp/mysql.sock' ...