请教此问题解决方法。。

午夜恋曲 2017-03-31 04:06:18

....................前面略过...........
SELECT TOP 1 right(Chat, len(Chat) - charindex('救',Chat)) as aa from [Center].[dbo].[_Logat] WHERE ACCID=@StrACCIDjiu ORDER BY Time DESC
SELECT ACJCID FROM ZARD.dbo._User WHERE CHARID in (SELECT CharID from [ZARD].[dbo].[_Cjax] Where Name =@aa)

查询结果如下



问题是zmcs1 明明有它的 USERJID,为什么查询不到?

如果直接运行
SELECT ACJCID FROM ZARD.dbo._User WHERE CHARID in (SELECT CharID from [ZARD].[dbo].[_Cjax] Where Name =‘zmcs1’)就会查到结果。
是不是Charindex后面需要加什么参数才可以?
...全文
377 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
二月十六 2017-03-31
  • 打赏
  • 举报
回复
aa是等于zmcs1吗?
道素 2017-03-31
  • 打赏
  • 举报
回复
你的语句可以合并为一个

     SELECT TOP 1 right(l.Chat, len(l.Chat) - charindex('救',l.Chat)) as aa  
     FROM [Center].[dbo].[_Logat] AS l
     LEFT JOIN [ZARD].[dbo].[_Cjax]  AS c ON c.Name=right(l.Chat, len(l.Chat) - charindex('救',l.Chat))
     LEFT JOIN ZARD.dbo._User AS u ON u.CHARID=c.CharID
     WHERE l.ACCID=@StrACCIDjiu ORDER BY Time DESC
二月十六 2017-03-31
  • 打赏
  • 举报
回复
给@aa 得赋值
DECLARE @aa NVARCHAR(100)

SELECT TOP 1
        @aa = RIGHT(Chat, LEN(Chat) - CHARINDEX('救', Chat))
FROM    [Center].[dbo].[_Logat]
WHERE   ACCID = @StrACCIDjiu
ORDER BY Time DESC

SELECT  ACJCID
FROM    ZARD.dbo._User
WHERE   CHARID IN ( SELECT  CharID
                    FROM    [ZARD].[dbo].[_Cjax]
                    WHERE   Name = @aa )
午夜恋曲 2017-03-31
  • 打赏
  • 举报
回复
前面略过的语句里 已经给aa赋值了。否则这语句也不会运行啊

22,301

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧