嗨,在我的一个项目中,我们将客户的旅行数据保存在如下表格中:
id | user | country | travel_date |
------------------------------------------------------------------
1 | 12 | 4 | 2012-03-13 16:57:41 |
1 | 17 | 8 | 2012-03-13 16:57:41 |
1 | 12 | 5 | 2011-03-13 16:57:41 |
1 | 13 | 8 | 2011-03-13 16:57:41 |
1 | 11 | 3 | 2011-03-13 16:57:41 |
1 | 10 | 1 | 2013-03-13 16:57:41 |
1 | 12 | 1 | 2012-03-13 16:57:41 |
我们有一个像这样的国家表:
id | name
------+----------
1 | India
2 | China
8 | Hongkong
3 | Singapore
有一个这样的用户表
id | Name
--------+----------
12 | name
17 | name 2
11 | name 3
10 | name 4
我们需要像这样获取报告:
- 哪些客户在2012年去过中国和印度
查询语句为:
SELECT DISTINCT user_id
FROM traveled_details
WHERE (country=1 OR country=2) AND YEAR(travel_date)=2012
我们还有一个客户表。所有的报告都能正常工作。
但是我们有一个新的需求,需要一个关于2012年未在中国旅行的客户报告,或者UN-traveled客户清单,或者需要前往印度的客户。
我的表结构是否足够获取这样的查询?如果是,我对这个查询有点困惑...有人可以帮忙吗?
user_id
和country_id
并在这些列上添加索引。 - Ander2