2015-10-05 56 views
0

如何在兩個不同的列中顯示「名稱」的結果,例如,它有2個不同的值從第一個查詢我名字段有聯繫,而從第二個查詢我的名字領域得到了Mobile_user,我期望的結果會呈現出兩種不同的領域列「名稱」具有不同的值,我想在兩個不同的列中顯示這些值。但是如何?

SELECT   T1.autgro_id id, 
       T1.name, 
       T2.use_id 
FROM    adm_auth_groups_wv T1 
       INNER JOIN adm_user_auth_groups_wv T2 
       ON T1.autgro_id=T2.autgro_id 
       INNER JOIN ym_customers_wv T3 
       ON T1.cus_id=T3.cus_id 
WHERE   T3.cus_id_parent = 4 
       AND T2.use_id =24 

UNION All 

SELECT   T1.autgro_id id, 
       T1.name, 
       T2.use_id 
FROM    adm_auth_groups_wv T1 
       INNER JOIN adm_user_auth_groups_wv T2 
       ON T1.autgro_id = T2.autgro_id 
WHERE   yard_functions_pkg.get_parent_from_cus_id(T1.cus_id) = 4 AND 
       T1.autgro_id 
       NOT IN   
       (SELECT 
       T2.autgro_id 
       FROM 
       adm_user_auth_groups_wv T2 
       WHERE 
       T2.use_id=24) 
+0

兩個不同的值是逗號分隔或原子? –

+2

你能向我們展示樣本數據,所以我們可以看到姓名字段是如何存儲的? –

+0

@AnkitBajpai像「管理員」,Mobile_user」 – Ahmad

回答

0

使用在兩個查詢虛擬列admin和mobile_user,填充第一個查詢中有一列,第二個查詢中有一列。

SELECT   T1.autgro_id id, 
       T1.name admin_user, 
       null mobile_user, 
       T2.use_id 
FROM    adm_auth_groups_wv T1 
       INNER JOIN adm_user_auth_groups_wv T2 
       ON T1.autgro_id=T2.autgro_id 
       INNER JOIN ym_customers_wv T3 
       ON T1.cus_id=T3.cus_id 
WHERE   T3.cus_id_parent = 4 
       AND T2.use_id =24 
UNION All 
SELECT   T1.autgro_id id, 
       null admin_user, 
       T1.name mobile_user, 
       T2.use_id 
FROM    adm_auth_groups_wv T1 
       INNER JOIN adm_user_auth_groups_wv T2 
       ON T1.autgro_id = T2.autgro_id 
WHERE   yard_functions_pkg.get_parent_from_cus_id(T1.cus_id) = 4 AND 
       T1.autgro_id 
       NOT IN   
       (SELECT 
       T2.autgro_id 
       FROM 
       adm_user_auth_groups_wv T2 
       WHERE 
       T2.use_id=24) 
+0

thanks @martin,你已經解決了我的問題 – Ahmad

+0

@Ahmad不客氣,請點擊答案左邊的灰色複選標記,接受我的回答。 –

相關問題