首先,我为问题的标题表示歉意,因为我不确定自己在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'
现在,当该属性在数据库中以房屋,公寓或土地的形式列出时,此查询工作正常。我的问题是,数据库是由来自世界各地多个房地产经纪人的几个xml提要填充的,这些房地产经纪人的说法有所不同。
例如,在英国,一所房屋称为房屋,在其他地方,“房屋”可以称为“别墅”,“联排别墅”,“独立式房屋”,“城堡”,“豪宅”等。
然后,对于公寓,可以有“公寓”,“公寓”,“顶层公寓”等。
什么是搜索数据库表的最佳解决方案。我不想将所有这些选项放在下拉菜单中,因为它变得具体,并且不会返回足够的结果。
任何指针将不胜感激
最佳答案
您将需要一个表(例如PropertyNames
),该表将每个属性名称变体与其唯一的属性类型名称进行匹配。然后,您将使用如下查询:SELECT distinct a.* from PropertyTable a JOIN PropertyNames b ON b.propertyName ='$propertyName' and a.propertyType = b.nameVariant
。
在这里,$propertyName
指的是PropertyNames
表中属性的明确名称,您将在下拉选择中使用该名称。
关于php - PHP的MySQL查询房屋类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46640787/