1
我有一个表叫tags
,这样排序的数据:麻烦写MySQL查询涉及来自三个表
+-------+----------+
| tagID | tagName |
+-------+----------+
| 1 | jewelery |
| 2 | gifts |
| 3 | asdf |
| 4 | fashion |
| 5 | diamonds |
+-------+----------+
则表名为coupon_tags
,像这样:
+-------+----------+
| tagID | couponID |
+-------+----------+
| 1 | 1 |
| 2 | 1 |
| 3 | 2 |
| 4 | 2 |
| 5 | 3 |
+-------+----------+
最后,一表叫coupons
,这里是有关部分(ID是一样的couponID其他地方):
+----+-----------------+
| id | zone |
+----+-----------------+
| 1 | Los Angeles |
| 2 | Orange County |
| 3 | Los Angeles |
| 5 | Orange County |
| 6 | Orange County |
+----+-----------------+
我需要编写一个查询:我想通过第一个表获得tagNames,这个表对应于第二个表中前10个最常用的tagID的有序列表,但它只通过与其他条件匹配的couponID来查找 - “区域”是某个区域。最后,只有来自特定区域的前10名tagNames会显示。我从来没有做过三表查询,有任何帮助吗?
我试图保持这个纯粹的SQL,因为我有一个部分工作的PHP解决方案,但它很混乱,速度很慢。