回 帖 发 新 帖 刷新版面

主题:sql中like语句用法的疑问?

如下:
"xxxx like '%yyyy%'"            //当yyyy是常量的时候语句这样写
"xxxx like '%" & yyyy & "%'"    //当yyyy是变量的时候语句这样写

现在的情况是有两个表,xxxx是a表的一个字段,yyyy是另外一个表b里面的一个字段,而这个值是不固定的,该怎么写?
"a.xxxx like '%b.yyyy%'"和"a.xxxx like '%" & b.yyyy & "%'"都不对

回复列表 (共3个回复)

沙发

没看明白你要实现的是怎么样的一个功能,你的yyyy是怎么个不固定法呢?

板凳

看来确实我说的有点笼统了,这样说吧:

两个表:一个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 楼

我觉得你可以通过多条SQL语句去实现。
而且对于'%p.username%',DBMS只是把它当作字符串常量来处理,而不是把它当作表p的字段名。

我来回复

您尚未登录,请登录后再回复。点此登录或注册