ホームページ >データベース >mysql チュートリアル >複数の SELECT クエリからの単一行の結果を 1 つの列に効率的に結合するにはどうすればよいですか?
複数の SELECT クエリのマージ
多数のスキーマからデータを抽出するために、ユーザーは Excel を使用して SELECT ステートメントの配列を生成しました。多数の同一スキーマを格納するデータベースの場合。各クエリは、個別のスキーマを表す複数の行を含む 1 つの列出力に結合することを目的として、単一の結果をフェッチします。
連続した SELECT クエリを含む最初のアプローチでは、UNION を使用しているにもかかわらず、後続の行が破棄されました。全て。これは、LIMIT 1 句が各サブクエリを単一行に制限し、結果を結合する UNION ALL の機能を妨げているためです。
この問題を軽減するには、各サブステートメントを括弧で囲むことで構文が明確になり、LIMIT を適切に適用できるようになります。
(SELECT result FROM tbl1 LIMIT 1) UNION ALL (SELECT result FROM tbl2 LIMIT 1)
UNION ドキュメントで説明されているように、括弧で囲まれたサブステートメントは次のことができます。 ORDER BY 句と LIMIT 句が適用されています。これにより、句は UNION 演算全体ではなく、サブステートメントの結果に適用されます。これにより、各スキーマから 1 つの結果を取得し、それらを 1 つの列の出力に結合することができます。
以上が複数の SELECT クエリからの単一行の結果を 1 つの列に効率的に結合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。