これがどこかで回答されている場合は申し訳ありません。検索しましたが、回答が見つかりません。
3 つの SQL テーブルがあります: 従業員テーブル (ID、名前など...) キー スキル テーブル (ID、スキル名) リンク テーブル (従業員 ID、スキル ID)
従業員は明らかに複数の重要なスキルを持つことができますが、次のように「従業員レポート」として 1 行で報告しようとしています。
行 1 - 名前、生年月日、キー スキル 1、キー スキル 2 など.... 行 2 - 名前、生年月日、キー スキル 1、キー スキル 2 など....
次を使用して、スキルを行数として返すことができます。
SELECT DISTINCT kst.KeySkillName FROM KeySkillsTable
INNER JOIN KeySkillsLinkTable kslt ON kslt.EmployeeId = 2
INNER JOIN KeySkillsTable kst ON kst.Id = kslt.KeySkillsId
しかし、これをサブクエリとしてより大きな選択に入れると、次のエラーが発生します。
サブクエリが複数の値を返しました。サブクエリが =、!=、<、<=、>、>= の後にある場合、またはサブクエリが式として使用されている場合、これは許可されません。
これは、必要な複数の列ではなく、サブクエリが複数の行を返すためだと思います。
事前に感謝します。