【发布时间】:2015-10-29 07:11:57
【问题描述】:
我有两张桌子; 1. 细节,2. 附加
这些表的结构如下:
Details:
| id | name | start_date | end_date | city | ....
Additional:
| id | event_id | ratings | reviews | visits | total_points | ...
这里,'details' 中的 id 和 'additional' 中的 'event_id' 具有相同的值,所以我可以连接两个表。在 details 我有 26 列,在 Additional 我有 18 列。根据从用户那里收到的评论和评分以及页面上的总访问量,我给他们积分,最终添加到 total_points 字段中。因此,当我从这些表中获取数据时,我首先按城市名称、开始日期和结束日期对它们进行排序,然后检查它们获得的总点数并按降序排列(最好到最差)。
到目前为止我所做的如下:
$con->query("SELECT * FROM details INNER JOIN 附加 ON details.id = additional.event_id WHERE city = '$currentLocation' AND (sDate ='$todayDate' OR (sDate = '$todayDate')) ORDER BY additional.total_points*1 DESC");
但它没有正确获取行,详细信息中的 id 与附加中的 id 匹配,而不是 event_id。
任何帮助将不胜感激!
TIA
【问题讨论】:
-
你能展示一些示例输入和输出吗?该查询看起来应该可以工作。
-
嗨,蒂姆,感谢您的关注,但我刚刚解决了这个问题。问题是,在两个表中都有一个名称相同的字段
id。所以当我打印id时,它从additional中获取价值,而不是从details中获取价值。所以我改变了它,现在我的代码很好。 -
请将其发布为您的问题的答案并将其标记为正确。
标签: inner-join