首先,我为问题的标题表示歉意,因为我不确定自己在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/

10-10 06:34