我有2个表,TABLE1
和TABLE2
,我想显示搜索结果,我将检查TABLE1
中名为name
的列是否包含xyz
,之后应与TABLE2
AUDITED_ID
字段进行比较,并显示TABLE2
TABLE2
字段相等的AUDITED_ID
字段使用表1 ID字段,其中TABLE1 ID字段也获取名称列,它应包含xyz
。
查询1:
SELECT ID FROM TABLE1
UNION
SELECT AUDITED_ID FROM TABLE2
WHERE
TABLE1.NAME LIKE '%XYZ%'
AND
TABLE1.ID = TABLE2.AUDITED_ID;
QUERY2:
SELECT ID FROM DOMAINS
WHERE NAME LIKE '%GGV%'
UNION
SELECT AUDITED_ENTITY_ID FROM AUDIT_LOGS
WHERE
DOMAINS.ID = AUDIT_LOGS.AUDITED_ENTITY_ID;
我尝试了几种方法,但它没有用,我总是收到错误信息,不知道我应该怎么开始?
答案 0 :(得分:1)
您应该首先使用INNER JOIN加入这两个表 - 这将从结果集中删除您不需要的ID
然后使用WHERE条件检查您的情况
SELECT
t1.ID ,
-- you can select other columns from t1 and t2 here
t2.AUDITED_ID ,
t1.NAME
FROM TABLE1 t1
INNER JOIN TABLE2 t2 ON t2.AUDITED_ID = t1.ID
WHERE t1.NAME LIKE '%XYZ%'