数据库有个字段例:aaaaaa,bbbbb,cccccc有什么简单的方法分别取得aaaaaa,bbbbb和cccccc啊,因为他们是和其他表关联的ID,求各位高人指点下~
SELECT * from TB1 A, TB2 B
WHERE CHARINDEX(','+A.ID+',',','+'aaaaaa,bbbbb,cccccc'+',')>0
可以利用这样来查询,
发这么多?
没明白想要什么。
楼主的意思是分拆么?
SQL code:
SELECT COL,
COL1 = PARSENAME(REPLACE(COL,',','.'),3), ----替换一下 '.' 因为 parsename 只认 '.'
COL2 = PARSENAME(REPLACE(COL,',','.'),2),
COL3 = PARSENAME(REPLACE(COL,',','.'),1)
from TB
不懂 学习
多发点找到答案的几率高点
使用LIKE 或者charindex 进行表联接 或者先拆分再联接
SQL code:
--a表为源表 b表为你要联接的表
select *
from a join b on
a.id like '%'+b.id+'%'
SQL code:
declare @a varchar(20)
set @a = '快,快,快,快,快,aa'
declare @tb table(id int identity ,c varchar(10))
set @a=@a+','
declare @i int
set @i=charindex(',',@a)
while(@i>1)
begin
insert into @tb select left(@a,@i-1)
set @a=right(@a,len(@a)-@i)
set @i=charindex(',',@a)
end
select * from @tb
现在有两张表:文章主表A(articleId,articleTitle),文章评论表B(commentId,articleId,commentTitle)
现在我想实现这样的功能:列出文章列表,其中每篇文章标题下面列出此文章的前2个文章评论,请问sql语句怎么写啊 ......