2017-02-15 89 views
-1

一個專欄中,我有2個表,TABLE1TABLE2,我想顯示一個搜索,我將檢查在TABLE1命名name列包含xyz的結果,而之後它應該TABLE2比較AUDITED_ID字段並顯示字段TABLE2其中TABLE2AUDITED_ID字段將與表1 ID字段相同,其中TABLE1 ID字段也具有名稱列,並且它應該包含xyz比較從2個表

查詢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

你能請張貼一些樣本數據和需要的結果嗎? – Aleksej

+1

你應該使用Inner Join和Where條件 –

回答

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%'