SELECT UserName,RealName,Phone,Address,NumId,Name,Mode,Re,Time,
IssueId = (select IssueId from C_AuctionInfo where C_AuctionInfo.NumId = C_AuctionShop.NumId)
FROM C_AuctionShop where NumId = 12345子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。红色这句应该怎么改,先说声谢谢!
IssueId = (select IssueId from C_AuctionInfo where C_AuctionInfo.NumId = C_AuctionShop.NumId)
FROM C_AuctionShop where NumId = 12345子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。红色这句应该怎么改,先说声谢谢!
IssueId = (select min(IssueId) from C_AuctionInfo where C_AuctionInfo.NumId = C_AuctionShop.NumId)
FROM C_AuctionShop where NumId = 12345
IssueId = (select top 1 IssueId from C_AuctionInfo where C_AuctionInfo.NumId = C_AuctionShop.NumId)
FROM C_AuctionShop where NumId = 12345
IssueId in (select IssueId from C_AuctionInfo where C_AuctionInfo.NumId = C_AuctionShop.NumId)
FROM C_AuctionShop where NumId = 12345
--括号内返回的IssueId不止一个
--加个top / max / min... 试试!
消息 156,级别 15,状态 1,第 2 行
关键字 'in' 附近有语法错误。
消息 156,级别 15,状态 1,第 3 行
关键字 'FROM' 附近有语法错误。
IssueId这个我要取出多个的。。不是要1个所以不能用top 1min和max是可以取出来,但是有问题,取出来的值不是最小就是最大值,这个不是我要的,我要原始数据库中的值,,
stuff((select ','+IssueId from C_AuctionInfo where C_AuctionInfo.NumId = C_AuctionShop.NumId for xml path('')) ,1,1,'')
--IssueId以逗号分隔
FROM C_AuctionShop where NumId = 12345
在将 varchar 值 ',' 转换成数据类型 int 时失败。
stuff((select ','+ltrim(IssueId) from C_AuctionInfo where C_AuctionInfo.NumId = C_AuctionShop.NumId for xml path('')) ,1,1,'')
--IssueId以逗号分隔
FROM C_AuctionShop where NumId = 12345
IssueId取出来的值为是1.2.2,能不能是对应的,不是循环的,比如说是第一行是1,第二行是2,第三行是2
SELECT * FROM C_AuctionShop JOIN C_AuctionInfo ON C_AuctionInfo.NumId = C_AuctionShop.NumId
虽然麻烦了点,但是好歹做出来了!
共享下答案:SELECT S.UserName,RealName,S.Phone,S.Address,S.NumId,[Name],Mode,Re,S.[Time],I.IssueId
FROM C_AuctionShop AS S, (SELECT I.NumId, U.UserName, I.IssueId FROM C_AuctionInfo AS I LEFT JOIN C_User AS U ON U.UserId = I.UserId ) AS I
where S.NumId = 12345 AND S.UserName = I.UserName在这谢谢各位!