MS SQL Server では、このクエリは正常に実行されます。
SELECT column1
, (SELECT RelatedColumn1 FROM tbl_related WHERE record_id=a1.record_id) AS pseudocolumn1
, (SELECT RelatedColumn2 FROM tbl_related WHERE record_id=a1.record_id) AS pseudocolumn2
, (SELECT RelatedColumn3 FROM tbl_related WHERE record_id=a1.record_id) AS pseudocolumn3
, (SELECT RelatedColumn4 FROM tbl_related WHERE record_id=a1.record_id) AS pseudocolumn4
... [20 or more subqueries here] ...
FROM tbl_primary a1
ただし、mySQL では、これは非常に遅く実行され、サブクエリを追加するとパフォーマンスが低下し続けます。内部の操作の順序に関係していると確信していますが、私の質問は、このクエリを最適化する方法ですか? 2 番目のテーブルのすべての値を結果セットの列にピボットするにはどうすればよいですか? これが複数の JOIN ステートメントで達成される必要がないことを願っています (私は JOINS をよく理解していないため)...?