问个简单的问题,顺便散点儿分...
'需求内容:'
假设现在有两个表,一个是表T1,一个表T2
录入的数据如下:
T1
id name
---------------------------
1 wang;huang;yan
2 li;cai;tang
3 zhang;chen
4 song;gao
T2
name property
---------------------------
wang 上海;北京
li 深圳
zhang 广州
song 厦门;唐山;西安
T1中的name列及T2中的property不能再拆分,如何构造语句来实现通过查询T2表中的property中的广州来得到T1表中id的值?
请问下面的解法是否正确?
charindex 的用法是否正确?
为什我在SQL Server 2005 环境下执行不出结果...

use test
go
if object_id('test.dbo.t1') is not null drop table t1
-- 创建数据表
create table t1
(
id int,
name char(20)
)
go
--插入测试数据
insert into t1 select 1,'wang;huang;yan'
union all select 2,'li;cai;tang'
union all select 3,'zhang;chen'
union all select 4,'song;gao'
go
if object_id('test.dbo.t2') is not null drop table t2
-- 创建数据表
create table t2
(
name char(10),
property char(20)
)
go
--插入测试数据
insert into t2 select 'wang','上海;北京'
union all select 'li','深圳'
union all select 'zhang','广州'
union all select 'song','厦门;唐山;西安'
union all select 'li','广州;深圳'
go
--代码实现
'解法一'
select * from t1 t where
exists(select 1 from t2
where charindex(';'+name+';',';'+t.name+';')>0 and [property] like '%广州%')
'解法二'
select t1.* from t1 , t2
where charindex(';'+t2.name + ';',';'+t1.name+';') > 0 and charindex(';广州;',';'+t2.property+';') > 0
order by t1.id
charindex(';'+name+';',';'+t.name+';')>0 这样的写法能实现么??
好像 charindex 函数里的第一个表达式必须是定值,不应该包含字段变量吧...
郁闷...
...全文
相关推荐
是不是太胖了 (5 分)PTA
L1-029 是不是太胖了 (5 分) 据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤是公斤的两倍。现给定某人身高,请你计算其标准体重应该是多少?(顺便也悄悄给自己算一下吧……) 输入格式: 输入第一行给出一个正整数H(100 < H ≤ 300),为某人身高。 输出格式: 在一行中输出对应的标准体重,单位为市斤,保留小数点后1位。 输入样例: 169 输出样例: 124.2
最简单有趣的游戏:basically这基本上是我使用Phaser JS框架进行的简单测试(顺便说一句,它是制作游戏的出色框架!)
移相器游戏 这基本上是我使用Phaser JS框架进行的简单测试(顺便说一句,它是制作游戏的出色框架!) 要求 现代网络浏览器,例如Chrome,Firefox或Safari。 ...还有一个HTTP Web服务器(您可以使用我的) 作者 皮埃尔·亨利·索里亚 联系 与我联系: pierrehenrysoria {{ AT }} gmail {{ D0T }} com
16MB的FLASH,顺便打开了UART
16MB的FLASH,顺便打开了UART
jQuery 1.71 中文版 API.chm (最新更新,单个文件,可用)
找了好久才找到这个,更新为最新的; 单个chm文件,保证可用 顺便赚点儿积分,谢谢啦
hudson和maven完成持续集成
用hudson和maven完成持续集成,今天一个朋友过来问我,我就顺便录了一个简短的视屏,对使用做了一个简单的介绍,最大只参上传25M的文件,所以只能分两个包上传,希望能有需要的朋友有帮助


