2 zhanghaisong 2015 zhanghaisong_2015 于 2015.06.24 10:04 提问

多次为 'T_TEMP' 指定了列 'Credits'
sql

Hibernate: select count(*) as COUNT__ from (select top 100 percent T1.*,T2.Credits FROM MemberInfo T1 LEFT JOIN (SELECT SUM(Credits) Credits,MemberId FROM MemberInfo_Credits GROUP BY MemberId)T2 ON T1.MemberId = T2.MemberId WHERE 1=1) T_TEMP
2015-06-24 10:11:23,186 WARN (org.hibernate.engine.jdbc.spi.SqlExceptionHelper:144) - SQL Error: 8156, SQLState: S1000
2015-06-24 10:11:23,186 ERROR (org.hibernate.engine.jdbc.spi.SqlExceptionHelper:146) - 多次为 'T_TEMP' 指定了列 'Credits'。

2个回答

Tiger_Zhao
Tiger_Zhao   Rxr 2015.06.24 10:31

你的 T1.* 中也有叫 Credits 的字段吧,和 T2.Credits 重名了。
给后面的加个别名,用不重复的名字。

zhanghaisong_2015
zhanghaisong_2015 谢谢!T1.* 中也有叫 Credits 的字段吧,和 T2.Credits 重名了。这个原因是对的,只是“给后面的加个别名,用不重复的名字”这个方法不行,我试过了。只能是在T1.*查询的记录去掉Credits这个字段。
2 年多之前 回复
u012216727
u012216727   Ds   Rxr 2015.06.24 10:38

SELECT SUM(Credits) Credits,MemberId FROM MemberInfo_Credits GROUP BY MemberId
//SUM(Credits)和Credits两者之间是否应该加一个逗号

Csdn user default icon
上传中...
上传图片
插入图片