我有一个看起来像这样的表:
另一张看起来像这样的表:
如您所见,表2包含位置和target_ids,而表1包含这些位置的目标位置。在北美的情况下,它的目标是5,属于加拿大和美国。另一方面,法国的target_id为2,而一些欧洲的target_id为3,其中包括法国和西班牙。
我想通过MySQL做的是获取target_id,country_code,country_name的表格,但仅限于国家/地区。这意味着,只有表1的target_ids只有一行(例如,我们知道FR是一个国家,因为数字2仅在FR中,我们知道3代表一个地区,因为它同时包含西班牙和法国相关)。这是可以通过MySQL做的还是我需要两个查询和中间的PHP?
谢谢!
答案 0 :(得分:2)
SELECT t1.target_id, t1.country_code, t2.region_name
FROM table1 t1
JOIN table t2
ON t1.target_id = t2.target_id
WHERE (SELECT COUNT(*) FROM table1 t3 WHERE t3.target_id = t1.target_id) = 1
table1
是包含国家/地区代码的代码,table2
是具有地区名称的代码。