我有一个 Sql 查询:
select * from contactmeta
WHERE
contactmeta.contact_id in
(
select tob.object_id from tagobject tob, tag t, taggroup tg
where tob.tag_id = t.tag_id
and t.tag_group_id = tg.tag_group_id
and tob.object_type_id = 14
and tg.org_id = contactmeta.group_id
and (t.name like '%campaign%')
)
AND
contactmeta.contact_id in
(
select tob.object_id from tagobject tob, tag t, taggroup tg
where tob.tag_id = t.tag_id
and t.tag_group_id = tg.tag_group_id
and tob.object_type_id = 14
and tg.org_id = contactmeta.group_id
and (t.name like '%bounced%')
)
我的问题是我需要简化 WHERE 子句中的查询部分(我不能与 contactmeta 表等进行另一个联接)。这是因为 WHERE 子句是在静态 sql 上动态创建的。
您可以看到除了 t.name 条件之外,两个 where 条件几乎相同。
谢谢你的时间
SK