首先,我对问题的标题表示歉意,因为我不完全确定这种查询在 mysql 中被称为什么。
好的,我有一个包含海外特性/房地产列表的 700,000 多条记录的大型数据库。
注意:我在实际站点中使用 mysql pdo 和准备好的语句。
我有以下查询
$propertyType = 'House';
//// This is generated from a drop down with possible values of House, Apartment & Land
$sql = 'SELECT * FROM PropertyTable WHERE
PropertyType = $propertyTpye'
现在,当该属性(property)在数据库中列为房屋、公寓或土地时,此查询可以正常工作。我的问题是数据库是由来自世界各地多个房地产经纪人的多个 xml 提要填充的,而这些房地产经纪人的称呼不同。
例如在英国,房子被称为house,其他地方的“house”可以被称为“villa”、“town house”、“detached house”、“chateau”、“mansion”等。
p>对于公寓,可以有“公寓”、“公寓”、“顶层公寓”等。
搜索数据库表的最佳解决方案是什么。我不想将所有这些选项放在下拉菜单中,因为它变得具体并且不会返回足够的结果。
任何指示将不胜感激
最佳答案
您需要一个表(例如 PropertyNames
),将每个属性名称变体与其唯一的属性类型名称相匹配。然后您将使用如下查询:
从 PropertyTable a JOIN PropertyNames b ON b.propertyName ='$propertyName' 和 a.propertyType = b.nameVariant 中选择不同的 a.*
。
此处,$propertyName
指的是 PropertyNames
表中属性的明确名称,您将在下拉选择中使用该名称。
关于php mysql 查询房屋类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46640787/