我正在处理一个数据库,该数据库为每个有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