我正在處理一個數據庫,該數據庫爲每個有4個公司的公司(總共8個數據庫用於此查詢)擁有2個表,並且出於我的控制之外的原因,不能改變。這也是一個sqlite數據庫。對具有匹配列和合並列的聯合表執行SQL/sqlite查詢
我的應用程序目前必須做8次往返才能獲取所有數據。我想將其整合到一個表視圖查詢中,但我無法弄清楚如何以一種可以使其工作的方式組合數據。這是表格的一個例子。
表1(A型)
name zone
ABCD ABC1
DBAA CBA1
表2(A型)
name zone
ABCD 1234
DBAA 4321
表1(B型)
zone weight rate
ABC1 1 0.50
CBA1 2 0.88
表2(B型)
zone weight rate
1234 1 0.52
4321 2 0.80
最後,我想以這個樣子:
name weight Table 1 rate Table 2 rate
CABA 1 0.52 0.50
AEAS 2 0.80 0.88
我想這對我的SQL語句:
SELECT 1A.name, 1B.weight, 1B.rate as A from 1A, 1B WHERE 1A.zone = 1B.zone
UNION ALL
SELECT 2A.name, 2B.weight, 2B.rate as B from 2A, 2B WHERE 2A.zone = 2B.zone
我也嘗試了幾個閱讀工會後加入語句必須有匹配的列數但我似乎無法擊中正確的查詢。任何想法我做錯了什麼,或者我怎麼能實現這個查詢?
任何幫助,非常感謝!
已更新,這裏小提琴例如:http://sqlfiddle.com/#!5/37c19/3/0
你的SQL似乎是正確的;你遇到什麼錯誤? – 2013-03-13 03:12:28
我沒有得到表1的速率和表2的速率作爲單獨的列,而是我運行查詢時只獲得表1速率。如果我自己運行這兩個查詢,我會得到適當的數據。 – 2013-03-13 03:19:57
CABA和AEAS的名字從哪裏來? – 2013-03-13 03:22:35