mysql - 使用 MYSQL 处理不明确的列名

标签 mysql sql

我将尽我最大的努力来准确地布局我想做的事情。我正在使用一个房地产数据库,该数据库有 5 个与不同类型的属性(住宅、商业、公寓、土地等)相关的表。数据库有一个名为 MLS 的表,它将所有公共(public)元素汇集到一个跨这些表的表中。我需要查看这些表,其中主要包括来自这个通用 MLS 表的数据,但也包括来自其他几个表的一些特定数据。

我将给出一个示例,其中包含存在于 RESIDENTIAL 和 CONDO 表中但不存在于其他表中的 on 字段。

伪代码

SELECT MLSNUMBER,(residential.CommunityAmenities OR condo.CommunityAmenities) 从 MLSTABLE、RESIDENTIALTABLE、CONDOTABLE

这是我正在尝试的实际代码,但它给出了不明确的列名错误,因为 CommunityAmenities(和其他字段)存在于多个表中。

USE lsh_retsdata;

SELECT
    '',
    mls.mlsnum,
    mls.propertyclassid,
    '',
    mls.streetnumber,
    mls.streetname,
    '',
    mls.areaid,
    mls.streetletter,
    '',
    mls.StreetAddressDisplay,
    mls.remarks,
    mls.remarks,
    mls.city,
    mls.STATE,
    '',
    mls.zipcode,
    mls.countyid,
    "US",
    mls.latitude,
    mls.longitude,
    mls.listprice,
    '',
    '',
    mls.taxamount,
    '',
    totalbedrooms,
    totalfullbaths,
    mls.sqfttotal,
    '',
    mls.acres,
    mls.yearbuilt,
    mls.heatingsystem,
    mls.coolingsystem,
    heatingsource,
    mls.garagedescription,
    mls.garagecapacity,
    mls.zoning,
    '',
    mls.constructiontype,
    mls.roofmaterial,
    waterfrontdesc,
    CONCAT(mls.highschool,CHAR(13),mls.juniorhighschool),
    '',
    mls.style,
    associationfee,
    '',
    '',
    '',
    '',
    OfficeCoListOfficeName,
    '',
    CommunityAmenities
FROM rets_property_mls mls
LEFT JOIN rets_property_mul mul
    ON mls.mlsnum = mul.mlsnum
LEFT JOIN rets_property_auc auc
    ON mls.mlsnum = auc.mlsnum
LEFT JOIN rets_property_com com
    ON mls.mlsnum = com.mlsnum
LEFT JOIN rets_property_llf llf
    ON mls.mlsnum = llf.mlsnum
LEFT JOIN rets_property_cnd cnd
    ON mls.mlsnum = cnd.mlsnum

最佳答案

问题是(正如您所注意到的)MySQL 不知道您想要哪个 CommunityAmenities

您可以通过明确说明该字段应来自哪个表来解决此问题:

mul.CommunityAmenities

(用适当的表替换 mul)。

关于mysql - 使用 MYSQL 处理不明确的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14186853/

相关文章:

sql - SQL 中日志记录表的适当查询和索引

sql - 如何将一个很长的 mysql 结果集分成两行?

php - mysql多维数据

java - 在 Java 文本区域中格式化输出

mysql - 使用 bash 更新 mysql 列

MYSQL 从 2 个表中选择一个 id 只在其中一个表中

SELECT教程5中的Sqlzoo SELECT

MySQL 作为子查询运行查询比普通查询更快

java - "invalid stream header"异常 - 使用 JPA 和 MySQL 进行 Lob

mysql - SQL 联合字段合二为一