如何SQL调用一个字段里用逗号分开的数据。

HaChengShen 2013-07-01 11:11:55
表名 aaa
字段名 aid name
1 王为,赵立,卫名
2 张三,李四


name字段里的内容是用逗号分开的,要读出指定ID的数据,并分开去掉逗号,加上连接

如读取aid为2的数据,实现下面的效果

<a href="search.aspx?wd=张三" target="_blank">张三</a>
<a href="search.aspx?wd=李四" target="_blank">李四</a>

我是需要在PHP的系统里里SQL调用,最后需要的是类似这样的效果

{cmssql sql='SELECT FROM aaa WHERE id=2'}
<li><a href="search.aspx?wd=[field:name/]">[field:name/]</a></li>
{/cmssql}

请教该怎么写
等待高手解答,谢谢。
...全文
1117 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
發糞塗牆 2013-07-02
  • 打赏
  • 举报
回复
引用 2 楼 HaChengShen 的回复:
谢谢谢谢,太谢谢了,问了无数,你的解决方式最好
完事请结贴
HaChengShen 2013-07-02
  • 打赏
  • 举报
回复
谢谢谢谢,太谢谢了,问了无数,你的解决方式最好
發糞塗牆 2013-07-02
  • 打赏
  • 举报
回复
剩下的你自己来吧
----------------------------------------------------------------
-- Author  :DBA_Huangzj
-- Date    :2013-07-02 07:57:49
-- Version:
--      Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) 
--	Apr  2 2010 15:48:46 
--	Copyright (c) Microsoft Corporation
--	Enterprise Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: )
--
----------------------------------------------------------------
--> 测试数据:[aaa]
if object_id('[aaa]') is not null drop table [aaa]
go 
create table [aaa]([aid] int,[name] varchar(14))
insert [aaa]
select 1,'王为,赵立,卫名' union all
select 2,'张三,李四'
--------------开始查询--------------------------

select
    [aid],
    SUBSTRING(a.name,number,CHARINDEX(',',a.name+',',number)-number) as name 
from
    [aaa] a,master..spt_values 
where
    number >=1 and number<len(a.name)  
    and type='p'
    and substring(','+a.name,number,1)=','
----------------结果----------------------------
/* 
aid         name
----------- --------------
1           王为
1           赵立
1           卫名
2           张三
2           李四
*/

6,129

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 新技术前沿
社区管理员
  • 新技术前沿社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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