现在碰到了一个问题,SQL2005
CREATE TABLE tb1
(
ID int,
deptshow varchar(500)
)CREATE TABLE tb2
(
userid int,
deptname varchar(20)
)INSERT INTO tb1
select 1,'集团后勤科'
INSERT INTO tb1
select 2,'集团办公室,集团财务部,集团法律事务部,集团购物管理科,集团基建科'
INSERT INTO tb1
select 3,'集团办公室,集团法律事务部,集团后勤科'INSERT INTO tb2
select 1,'集团后勤科'
INSERT INTO tb2
select 1,'集团财务部'
INSERT INTO tb2
select 2,'集团后勤科'
INSERT INTO tb2
select 2,'集团法律事务部'现在想通过tb2.userid 的deptname 去查询在 tb1.deptshow 包含的内容。如何实现?要的结果如下:当userid = 1 时 显示tb1 1,3 行
当 userid = 2 时 显示tb1 2,3 行
CREATE TABLE tb1
(
ID int,
deptshow varchar(500)
)CREATE TABLE tb2
(
userid int,
deptname varchar(20)
)INSERT INTO tb1
select 1,'集团后勤科'
INSERT INTO tb1
select 2,'集团办公室,集团财务部,集团法律事务部,集团购物管理科,集团基建科'
INSERT INTO tb1
select 3,'集团办公室,集团法律事务部,集团后勤科'INSERT INTO tb2
select 1,'集团后勤科'
INSERT INTO tb2
select 1,'集团财务部'
INSERT INTO tb2
select 2,'集团后勤科'
INSERT INTO tb2
select 2,'集团法律事务部'现在想通过tb2.userid 的deptname 去查询在 tb1.deptshow 包含的内容。如何实现?要的结果如下:当userid = 1 时 显示tb1 1,3 行
当 userid = 2 时 显示tb1 2,3 行
解决方案 »
- [dbo]加与不加的区别?
- 多列子查询匹配
- 查找 语法问题
- sql 语句 如何将多个逗号字符串拆分成多条数据
- 数据库导出的问题,zjcxc(邹建)老大请进来
- 各位。哪里可以下载SQL SERVER 整个安装软件阿???
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~晕~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 如何将一个表中的某些行插入到另外的表中
- 怎以最快的速度更新数据表?
- SQLserver的文本存储类型应为text,ntext,但为什么长度为16,而且只能存较少的数据(几段文字)?
- SQL 怎么 通过副表录入信息,可自动更新到主表信息里??
- 急急急急!!!!ldf文件过大如何清理?
FROM TB1 A,TB2 B
WHERE B.USERID = 1
AND ',' + A.deptshow + ',' LIKE '%,' + B.deptname + ',%'
(SELECT ID,deptshow,flag=CAST('<value>'+REPLACE(deptshow,',','</value><value>')+'</value>' AS XML) FROM tb1) a
CROSS APPLY
(select T.C.value('.','VARCHAR(200)') AS deptname from a.flag.nodes('/value') T(C))b
INNER JOIN tb2 c ON c.deptname=b.deptname WHERE c.userid=2