我有一个表格名称,电子邮件和城市。 城市是一个自动填充字段,可调用3个单独的表(城市,地区,国家)。使用MySQL获取数组
我想什么做的是让这些爆炸成阵列,使得城市,地区和国家都定义值。这是我的查询,现在的自动完成场:
SELECT c.City, concat(r.Region, ', ', co.Country)
FROM Cities c, Regions r, Countries co
WHERE c.RegionID = r.RegionID and c.CountryID = co.CountryID and c.City like CONCAT(inCity, '%')
ORDER BY City;
正如你所看到的,所输入的值(INCITY)只相比,在城市表中的City列。
我需要定义城市,地区和国家的原因是因为我需要在另一个名为的活动中输入他们的ID。这是我的查询插入CityID到我活动表:
INSERT INTO Events (Events.CityID)
VALUES ((SELECT CityID FROM Cities WHERE City = inCity LIMIT 1));
这也不起作用,因为有时会出现具有相同名称的多个城市。
我以前可以用PHP做这个,但我目前使用myDBR报告来做到这一点,我只能使用查询。
你就不能删除CONCAT?像这样:SELECT c.City,r.Region,co.Country –
@JoelLewiw - 我可以,但我有这样的,所以他们都显示为自动完成表单中的一行。即使我删除了concat,我仍然不知道如何在INSERT查询中调用Region&Country。 –