我有一个基于地理内容的数据库。一个领域' geo'确定某一行的国家/地区(可能是多个)。我想让MySQL的每个国家代码都应该有不同的结果。如果数据库中没有专门用于" CN"例如,我们可以使用' general'行的结果不是特定于某个国家/地区的行。
id | geo |
---+--------+
1 | NL |
2 | US |
3 | |
4 | CA NL |
5 | US |
我想要的是:
| geo |
+-----+
| |
| NL |
| US |
| CA |
我尝试使用CONCAT(来自db的SELECT GROUP_CONCAT)来获取数据库中找到的所有可能条目,但是这将涉及将两个结果(对于ID#4)分成两行以获得类似" NL,美国,加拿大"回来,那已经有所帮助了。
解决方案是为此生成一个MANY-TO-MANY数据库,这样可以很容易地选择表中使用的国家/地区。另一种方法可能是通过GEO获取所有GROUPED并使用PHP来确定要使用的国家/地区,但我不能认为必须有一种更清晰的方法来解决MySQL中的这个查询。 this SO post中讨论了另一种可能的方法,但这只是解决这个问题的一种可能方法(因此没有理由将这个问题关闭为“重复”,因为它显然不是'吨...)
有人知道要走的路线吗?