sql查询查找不同表中存在的子字符串

时间:2012-10-11 03:55:16

标签: sql

Table "sub":
----------------------
sub_ser   ----->column name
----------------------
a1
a2                      
a3
a4
----------------------




Table "zvm"
--------------------------
vms_ser          ->column name
------------------------
a1,a2,a3          

a1,a2

a1 

----------------------

假设两个表只有一列.. 需要查询:从表“sub”中获取列“sub_ser”,其中包含所有条目的独立条目,这些条目按表“zvm”所示组合排列。

例如: 对于表“zvm”中的单个条目“a1,a2,a3”,我们需要检查a1和a2以及a3中的每一个是否单独存在于表“sub”中 希望你有问题......

3 个答案:

答案 0 :(得分:1)

select distinct sub_ser
from sub
where sub_ser in (
select unnest(string_to_array(vms_ser, ',')) from zvm )

这将适用于PostgreSql数据库

答案 1 :(得分:0)

我认为你要编写一个程序来完成它。看看http://forums.mysql.com/read.php?60,78776,148332。使用指定,作为分隔符的类似过程分别检索a1,a2和a3,然后在表1中进行查询。

答案 2 :(得分:0)

首先,从“zvm”表中选择,然后单独选择“sub”表,就像这样 -

select distinct sub_ser
from sub
where sub_ser in ('a1','a2','a3')