主题:sql中like语句用法的疑问?
初拥创始者
[专家分:540] 发布于 2007-05-31 18:18:00
如下:
"xxxx like '%yyyy%'" //当yyyy是常量的时候语句这样写
"xxxx like '%" & yyyy & "%'" //当yyyy是变量的时候语句这样写
现在的情况是有两个表,xxxx是a表的一个字段,yyyy是另外一个表b里面的一个字段,而这个值是不固定的,该怎么写?
"a.xxxx like '%b.yyyy%'"和"a.xxxx like '%" & b.yyyy & "%'"都不对
回复列表 (共3个回复)
沙发
yaozheng [专家分:28410] 发布于 2007-05-31 19:43:00
没看明白你要实现的是怎么样的一个功能,你的yyyy是怎么个不固定法呢?
板凳
初拥创始者 [专家分:540] 发布于 2007-05-31 20:34:00
看来确实我说的有点笼统了,这样说吧:
两个表:一个emp,一个pro,两个表里面都有记录用户名的字段:username,并且都是唯一的(emp表里面的某个username是唯一的,也不会出现在pro表里面,反之亦然),如下:
emp表:
username contact
a x,y,z
b x
c y
d z
pro表:
username age phone
x 18 123
y 19 456
z 20 789
emp表里面还有字段名为contact,类型是备注,主要用来装若干pro表里面的用户名
pro表里面还有一些表示该用户属性的字段,如age,phone之类
现在要求查找emp表用户名为a的用户的contact字段所包含的用户的age和phone,该怎么写?
我自己写了句,但是好象不对:
sql="select p.age,p.phone from [emp] e,[pro] p where e.username='a' and e.contact like '%p.username%'"
3 楼
我编故我在 [专家分:810] 发布于 2007-06-01 20:40:00
我觉得你可以通过多条SQL语句去实现。
而且对于'%p.username%',DBMS只是把它当作字符串常量来处理,而不是把它当作表p的字段名。
我来回复