我正在使用一个数据库,每个公司有 2 个表,每个公司有 4 个公司(此查询总共 8 个数据库),并且由于我无法控制的原因无法更改。这也是一个 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