我有3个表,如果我执行
,我会将数据收集到一个临时表中从#TempTable中选择* 我得到了
DOG AGE GENDER T_id I_name T_name Fiddo 4 M 1 comfy bed bed Daisy 7 F 1 red mat bed Fluffy 1 M 1 old rug bed Fiddo 4 M 2 bowl with paw bowl Daisy 7 F 2 chinese food tray bowl Fiddo 4 M 4 fancy leather collar collar Daisy 7 F 4 nametags on a string collar Fluffy 1 M 4 custom-stamped mardingale collar Daisy 7 F 3 blue ball toy Fluffy 1 M 3 chewy bone toy
对于我正在寻找的结果集我有这个查询我对这个表执行
Select Distinct DOG, AGE, GENDER, BED = COALESCE((Select I_name from #TempTable where DOG = DOG and T_name = 'bed'), NULL), BOWL = COALESCE((Select I_name from #TempTable where DOG = DOG and T_name = 'bowl'), NULL), TOY = COALESCE((Select I_name from #TempTable where DOG = DOG and T_name = 'toy'), NULL), COLLAR = COALESCE((Select I_name from #TempTable where DOG = DOG and T_name = 'collar'), NULL) From #TempTable我收到错误
子查询返回的值超过1。当子查询遵循=,!=,<,< =,>,> =或子查询用作表达式时,不允许这样做。
因为只要我能辨别DOG没有解决一个值的任何语法提示我没有正确使用DOG的行值?我想在Daisy,Fiddo和Fluffy的结果集中有3行,如果他们有一个或NULL,他们的年龄,性别,床,碗,他们的项圈和他们的玩具,如果他们有一个或NULL。 感谢您的回复。