ホームページ > データベース > mysql チュートリアル > MySQL で列挙されたテーブル名に基づいて条件付き結合を実行するにはどうすればよいですか?

MySQL で列挙されたテーブル名に基づいて条件付き結合を実行するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-10 05:57:17
オリジナル
851 人が閲覧しました

How Can I Perform Conditional Joins Based on Enumerated Table Names in MySQL?

MySQL の条件付き結合

別のテーブルのテーブル名を表す列挙値を含むテーブルを扱う場合、以下を実行する必要があります。タイプ値に基づく結合。 MySQL は動的結合をサポートしていないため、これは MySQL に特有の課題を引き起こします。

ただし、case 式と複数の結合を使用して回避策を達成できます。

簡単な例はテーブルです。 id1、id2、type の列があります。 type 列には別のテーブルの名前が含まれます。 type の値に基づいて type テーブルを結合するには、次のアプローチを使用できます:

SELECT
t.id,
t.type,
t2 .id AS id2、
t3.id AS id3

FROM
t

LEFT JOIN
t2 ON t2.id = t.id AND t.type = ' t2'

左JOIN
t3 ON t3.id = t.id AND t.type = 't3'

このクエリは、type の値に基づいて t2 テーブルと t3 テーブルに対して左結合を実行します。 type 値が t2 と一致する場合、t2 の id 列を id2 として返します。同様に、type 値が t3 と一致する場合、t3 からの id 列を id3 として返します。

動的結合ほど洗練されていませんが、このメソッドでは MySQL の列挙されたテーブル名に基づいた条件付き結合が可能です。

以上がMySQL で列挙されたテーブル名に基づいて条件付き結合を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート