数据库中有一个基础表 baseTable,列如下:
name
1%
2%
要写一个sql语句按照name条件查询另外一个表
现在是这样写的
select sss from table2 where sss like 1% or 2%;
但是baseTable中的name是随时变化的,那有没有一种方法可以象如下语句那样,不管name增加或减少都不用改SQL语句:
select sss from table2 where sss like in (select name from baseTable);这个语句是错误的
请教各位有没有好的方法呢?
------解决方案--------------------------------------------------------
两个表关联一下不好吗
------解决方案--------------------------------------------------------
select sss from table2 where sss in (select name from baseTable)
------解决方案--------------------------------------------------------
想了半天没找到好办法.
因为要使用LIKE,如果不使用LIKE上面的就可以了.
学习中.
------解决方案--------------------------------------------------------
没有搞太明白,是不是动态SQL语句呀.
------解决方案--------------------------------------------------------
如果想实现的话,估计要LIKE一个集合的数据,不知道SQL里是不是支持,不过楼主如果是在写程序的话,可以通过将LIKE条件通过拼串的方式来实现这个功能吧