2017-07-18 30 views
1

獲得從多個表中的數據我有3個表使用單個查詢

  1. 定價(ID,狀態)
  2. 帳單(ID,狀態)
  3. 遵守(ID,狀態)

ID &狀態是表格的列。這些表之間沒有任何連接(沒有主鍵 - 外鍵關係),我的意思是它們都是獨立的表。

我在每個表中只有1條記錄,所以在表中只有1個ID &狀態。所以我想從每個表中的狀態與表名一起在只有單一的查詢

我的預期輸出:

table Name  status 

Pricing   1 
Billing   2 
Compliance   3 

注:我正在尋找這只是一個查詢的解決方案。

在此先感謝。

+0

你有沒有考慮過使用'UNION'? –

+0

其實聯盟也是一個組合或多個查詢,但我正在尋找任何其他選項 – Amit

+0

你用'JOIN'好嗎? –

回答

0

我認爲你正在尋找這樣的事情....

SELECT 
     STATUS, 
     'Pricing' as TableName 
    FROM 
     Pricing 

    UNION 

    SELECT 
     STATUS, 
     'Billing' as TableName 
    FROM 
     Billing 

    UNION 

    SELECT 
     STATUS, 
     'Compliance' as TableName 
    FROM 
     Compliance 

,或者您可以使用子查詢。

0

您可以使用此查詢。您只需創建一個列號爲'n'的表格編號並在其中插入1到10個值。然後下面的查詢將按照您的期望工作。

select 
SUBSTRING_INDEX(SUBSTRING_INDEX(tablename, ',', numbers.n), ',', -1) tablename, 
SUBSTRING_INDEX(SUBSTRING_INDEX(statuss, ',', numbers.n), ',', -1) status 
from 
numbers inner join (select 'Pricing,Billing,Compliance' as 'tablename',concat(Pricing.status,',',Billing.status,',',Compliance.status)as 'statuss' 
from Pricing,Billing,Compliance) as s on CHAR_LENGTH(s.tablename) 
-CHAR_LENGTH(REPLACE(s.tablename, ',', ''))>=numbers.n-1 
+0

這可以在一個查詢中完成,也可以不使用union – Madhura

+0

這真的很酷 – sForSujit

0

通過加入這些表來創建VIEW。並隨時調用視圖(單個查詢結果)。你必須創建一次VIEW並隨時在VIEW上觸發查詢。