次のような製品部品表があります。 一部 部品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 ライブラリを一度にアップグレードする方法
CSS3 を学習する過程で、CSS3 属性を使用すると多くのクールな効果を簡単に実現できることが分か...
今日はあまり使わないHTMLタグ「subタグ」と「supタグ」を紹介します。定義と使用法: <...
異なるブラウザ間でページの表示を一致させるためには、フロントエンド開発において CSS スタイルのク...
Linux/Mac の MySQL パスワードを忘れた場合はどうすればいいですか?心配しないでくださ...
1. 既存のモジュールを表示する nginx の sbin ディレクトリに nginx の sbin...
2級コンピュータ試験のMySQL知識ポイントの基礎、一般的なMYSQLコマンドは次のとおりです。よく...
目次ステップ1: インストールステップ2: 引用ステップ3: 使用Webプロジェクトでは、データを読...
Docker の人気と成熟に伴い、Docker は徐々にプロジェクトをデプロイするための第一の選択肢...
この記事では、centos7 環境でソース コードから mysql5.7.16 をインストールする方...
今日、イメージを起動した後、HTTP リクエスト経由でアクセスできないという小さな問題が発生しました...
この記事では、thinkphp5.1 + Vue+axiosを使用してファイルをアップロードする方法...
目次1. 需要2. 解決策3. 最初の改善4.砂糖を加える5. 理解不能6. 問題点7. オブジェク...
MySQL はオープンソースの小規模リレーショナル データベース管理システムです。現在、MySQL...
MySQL はインストールが簡単で、高速で、豊富な機能を備えています。これはオープンソース運動のベン...
シングルノードデータベースの欠点大規模なインターネットプログラムはユーザーベースが大きいため、アーキ...