1

我想做什么(见下图寻求帮助):

1)从两个列表中创建一个具有唯一键的列表

2) 使用该新列表从黑色区域中选择红色子方块(将红色方块簇视为具有自己的 area_key 的区域)

3) 现在将两个表(绿色和橙色)中的数据连接到子方块;这需要三个属性明确(area_key、id_1、id_2)

4)结果:红色方块,带有包含额外数据的子方块,如果存在,都在一组中

注意:在 biglist 中找不到区域键;我必须连接 biglist -(sar_id)- subareas -(area_id)- Areas,以获取信息

到目前为止我的尝试..

这部分工作:

SELECT bl.item_id, bl.item_geometry, bl.id_1, bl.id_2, ar.area_key, ar.name
FROM biglist bl, subareas sar, areas ar
WHERE area_key IN 
(SELECT DISTINCT area_key 
FROM areas ar 
WHERE ar.area_key IN (SELECT area_key FROM sublist_1) 
OR ar.area_key IN (SELECT area_key FROM sublist_2))
AND sar.area_id = ar.area_id AND bl.sar_id = sar.sar_id

我需要集成的内容(部分语法不正确!),但不能正确:

LEFT JOIN (SELECT tb1.name, tb1.id_1, tb1.id_2, tb1.info1, tb1.info2, tb1.area_key
FROM Table1 tb1) ON ar.area_key = tb1.area_key 
AND bl.id_1 = tb1.id_1 AND bl.id_2 = tb1.id_2

LEFT JOIN (SELECT tb2.name,  tb2.id_1, tb2.id_2, tb2.info1, tb2.info2, tb2.area_key
FROM Table2 tb2) ON ar.area_key = tb2.area_key 
AND bl.id_1 = tb2.id_1 AND bl.id_2 = tb2.id_2

图片: 在此处输入图像描述

4

0 回答 0