难啊 怎么用动态sql在一个信息数据表中检索两类数据,并对其中一类数据的结果进行修改
难啊: 如何用动态sql在一个信息数据表中检索两类数据,并对其中一类数据的结果进行修改
有一个数据信息发布表,
有字段 userid , username , infocontent , 都是string 类型
有一个用户表
对应字段为: uid , uname
现在希望同时检索出满足下面条件的信息发布表中数据
一是每个用户只检索一条 (这个已经实现了)
同时第二个是要求 给所有未发布过信息的用户 也产生一条数据, 要求产生的信息数据中 userid 用uid 代替, username 用 u name代替, infocontent = “这家伙很懒什么都没有” , 结果只产生数据输出,不写入 信息发布表中
谢谢
------解决思路----------------------
哦,原来是这样
有一个数据信息发布表,
有字段 userid , username , infocontent , 都是string 类型
有一个用户表
对应字段为: uid , uname
现在希望同时检索出满足下面条件的信息发布表中数据
一是每个用户只检索一条 (这个已经实现了)
同时第二个是要求 给所有未发布过信息的用户 也产生一条数据, 要求产生的信息数据中 userid 用uid 代替, username 用 u name代替, infocontent = “这家伙很懒什么都没有” , 结果只产生数据输出,不写入 信息发布表中
谢谢
------解决思路----------------------
哦,原来是这样
SELECT
ISNULL(C.bbsid,0)bbsid
,A.ClassID
,ISNULL(C.bbsuid,A.ClassID)bbsuid
,ISNULL(C.bbstitle,N'这个家伙很懒')bbstitle
,ISNULL(D.UName,E.ClassName)UName
,ISNULL(D.usrimg,'x.jpg')usrimg
FROM
TBC_MB_UsrClassRL A
OUTER APPLY (SELECT TOP 1 * FROM TBA_Class_BBS B WHERE A.ClassID=B.wordid ORDER BY bbsid)C
LEFT JOIN TBC_Comm_UsrBasicInfo D ON C.bbsuid=D.UsrID
LEFT JOIN TBC_MB_COMM_ClassInfo E ON A.ClassID=E.ClassID
WHERE
A.UsrID=5