急求sql语句!!!!!!!!!!

qiudong_5210 2011-01-17 01:09:57
我在把下面的sql语句添加到asp.net中的程序集的时候,告诉我不能用cross apply,我该怎么改啊????
具体的需求在这里


select b.KeyWords,a.ArticleId
from (select ArticleId,KeyWords=case when isnull(KeyWords,'') = '' then '卡车' else KeyWords end from [AC_Article]) a
cross apply (
select KeyWords=SUBSTRING(a.KeyWords,number,CHARINDEX(',',a.KeyWords+',',number+1)-number)
from master..spt_values
where CHARINDEX(',',','+a.KeyWords,number) = number AND type = 'P'
) b order by b.KeyWords


...全文
74 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiudong_5210 2011-01-17
  • 打赏
  • 举报
回复
解决了,谢谢各位!!
Times_ORZ 2011-01-17
  • 打赏
  • 举报
回复
select KeyWords=SUBSTRING(b.KeyWords,number,CHARINDEX(',',b.KeyWords+',',number+1)-number),ArticleId
from master..spt_values a join AC_Article b on a.number between 1 and LEN(b.KeyWords)
where CHARINDEX(',',','+b.KeyWords,number) = number AND type = 'P' order by KeyWords
qiudong_5210 2011-01-17
  • 打赏
  • 举报
回复
2005
叶子 2011-01-17
  • 打赏
  • 举报
回复
你用的是sql2000?还是sql2005?

sql2000中不支持cross apply
飘零一叶 2011-01-17
  • 打赏
  • 举报
回复
insert into Article_KeyWords_Relation
select KeyWords=SUBSTRING(b.KeyWords,number,CHARINDEX(',',b.KeyWords+',',number+1)-number),ArticleId
from master..spt_values a join Article b on a.number between 1 and LEN(b.KeyWords)
where CHARINDEX(',',','+b.KeyWords,number) = number AND type = 'P'
/*
KeyWords ArticleId
联合卡车 1
卡车 1
联合卡车 2
货车 2
东风 3
卡车 3
油车 3
联合卡车 4
搅拌车 4
自卸 4
轻卡 4
*/

22,206

社区成员

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

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