我有两个MySQL表,我想用特定的条件从另一个获取数据。
表1:客户
-----------------------------
ID | Name | lastCountry | blf
1 | Jack | NONE | 1
2 | Idan | NONE | 1
3 | Kint | Thailand | 0
----------------------------
表2:旅行
----------------------------
id | userID | fromCountry | toCountry | startTime | endTime
1 | 1 | Canada | Myanmar | 2015-29-05 | 2015-31-07
2 | 2 | Australia | Poland | 2015-29-05 | 2015-31-06
----------------------------
如何列出缅甸(1),泰国(1),波兰(1)?
请注意,在表旅行中, toCountry 是缅甸和波兰。两个记录都有一个startTime< = CURDATE()和endTime> = CURDATE()。
显示某个国家/地区的唯一方法是当某人
如何列出缅甸(1),泰国(1)和波兰(1)的清单。一个PHP代码,生成当前正在访问的所有国家/地区,其中包含相应数量的访问者。
答案 0 :(得分:0)
在您的查询中,您使用union子句连接计算找到的数字的两个表的结果:
SELECT count(*) as lastCountryCount, lastCountry
FROM Customers
WHERE blf=1
GROUP BY lastCountry
UNION
SELECT count(*) as toCountryCount, toCountry
FROM Travels
GROUP BY toCountry
然后处理数组以显示每个国家/地区的计数。