表(我还添加了每个表的关键字段):
-tblproperty : propertyid,地址
-tblpropertyassetclass : propertyassetclassid
-tblpropertyassetclass_property_mapping : propertyassetclassid,propertyid
-tblcompdetails : mlsnumber,approved_comps
-tblmls_add_derived : mlsnumber,propertyaddress
目标:是找到tblpropertyassetclass中特定propertyassetclassid中的所有地址,其approved_comps值是什么。
SELECT address
FROM properties.tblpropertyassetclass_property_mapping a
INNER JOIN properties.tblproperty b
ON a.propertyid = b.propertyid
WHERE propertyassetclassid = 3
我创建的此查询获取给定propertyassetclassid的所有地址(在本例中为3)。我可以获得approved_comps的唯一方法是,如果我有mlsnumber,我没有。所以我需要在tblmls_add_dervived中将地址与地址匹配以获取mlsnumber。然后使用该mlsnumber获取approved_comps。
有人可以帮助我。我不知道如何让这件事发生。
所以让我们说上面的查询给出了2个地址 罂粟街25号 苹果街1234号 对于每个地址我想知道它的approved_comps值
SELECT approved_comps
FROM properties.tblcompdetails a
INNER JOIN properties.tblmls_add_derived b
ON a.mlsnumber = b.mlsnumber
WHERE propertyaddress LIKE '%707 Country Aire%'
我能够创建此查询,但这是针对特定的查询。如何将两个查询一起加入?
答案 0 :(得分:1)
将tblcompdetails
和tblmls_add_derived
连接到查询需要2个额外的内部联接。注意:使用别名来显式定义我们在查询中使用的每个列。如果没有明确定义哪个列来自哪个表,则会显示不明确的列错误消息。
SELECT b.address, d.approved_comps
FROM properties.tblpropertyassetclass_property_mapping a
INNER JOIN properties.tblproperty b
ON a.propertyid = b.propertyid
INNER JOIN properties.tblmls_add_derived c
ON b.address = c.propertyaddress
INNER JOIN properties.tblcompdetails d
ON c.mlsnumber = d.mlsnumber
WHERE a.propertyassetclassid = 3