抱歉,如果这已在某处得到回答,我已经搜索但找不到答案。
我有 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
但是当我将它作为子查询放入更大的选择中时,我收到以下错误:
子查询返回超过 1 个值。当子查询跟随 =、!=、<、<=、>、>= 或子查询用作表达式时,这是不允许的。
我认为这是因为子查询返回多行,而不是我需要的多列。
任何人都可以提供任何帮助将不胜感激,在此先感谢。