我需要使用两个表的组合来获取结果。
select template_id
from templatetbl
where template_xml like '%889d-5765405edb42%'
在查询时我得到了24条记录。
现在我想用我之前获得的模板ID获取另一组记录。
select *
from sites
where site_xml like '%templateid%'.
我最早得到的是Templateid。
我尝试了这样的查询
select *
from sites
where site_xml like (select template_id
from templatetbl
where template_xml like '%889d-5765405edb42%')
但是因为单行子查询返回多行而得到错误。
请帮助合并两个查询
答案 0 :(得分:1)
试试这个:
select *
from sites
where site_xml like (select '''%'||template_id||'%'''
from templatetbl
where template_xml like '%889d-5765405edb42%')
答案 1 :(得分:0)
这应该这样做。一个简单的连接,您可以动态地构建LIKE
字符串。
SELECT S.*
FROM templatetbl T, sites S
WHERE T.template_xml LIKE '%889d-5765405edb42%'
AND S.site_xml LIKE '%'||TO_CHAR(T.templateid)||'%'
编辑:请注意,这可能不是你想要的。由于templateid
1
将匹配1
,10
,11
,... 21
,... 100
等