【问题标题】:Joining Tables in a ColdFusion Query在 ColdFusion 查询中连接表
【发布时间】:2016-08-18 14:40:03
【问题描述】:

我正在执行两个查询,以从同一数据库中的两个表中的数据构建一个表。我现在拥有的代码如下,但我知道这样做会造成不必要的负载。我一直在尝试加入表格以获得相同的结果,但没有运气。有什么意见吗?

<cfquery name="GetWeekends">
   SELECT id, weekend_type, community_id, start_date, end_date, language
   FROM _weekends
   WHERE weekend_type = 1 and start_date > Now()
   ORDER BY start_date ASC
</cfquery>  

<cfloop query="GetWeekends">                
    <cfquery name="GetCommunity">
        SELECT community_id, location, language, state, country
        FROM _communities
        WHERE community_id = #getweekends.community_id#
    </cfquery>                  
    <tr>
        <td>#DateFormat(start_date, "mm/dd/yyyy")#</td>
        <td>#GetComm.location#</td>
        <td>#GetComm.state#</td>
        <td>#GetComm.country#</td>
        <td>#GetComm.language#</td>
   </tr>
</cfloop>

【问题讨论】:

  • 那么您实际尝试了什么,结果与您的预期有何不同? :) 顺便说一句,JOIN 只是连接共享键或列上的两个表,在您的情况下,这似乎是“community_id”。如果您还没有尝试过任何东西,请查看 wiki 文章中的示例。这很清楚,应该很容易通过替换您的表和列名来适应。
  • 我只是想使用 JOIN 来提高效率。艾尔 E 的回答成功了 :-)
  • (编辑)好吧,我是在暗示您应该发布您尝试过的内容,以便我们可以帮助您解决它(并希望更好地理解问题),而不是直接发布答案;-)如果您对连接不满意,我绝对建议您花一些时间了解它们,因为它们是 SQL 的非常基本部分,您将使用...很多。

标签: mysql coldfusion cfml railo lucee


【解决方案1】:

数据库连接非常基础。你最好对它们进行自我教育。

无论如何,看起来你想做这样的事情:

<cfquery name="GetWeekends">
SELECT w.id, w.weekend_type, w.community_id, w.start_date, w.end_date,
  w.language,
  c.community_id, c.location, c.language, c.state, c.country
FROM _weekends w
  INNER JOIN _communities c
    ON w.community_id=c.community_id
WHERE w.weekend_type = 1 and w.start_date > Now()
ORDER BY w.start_date ASC
</cfquery>

【讨论】:

  • 太棒了!我一直在试图绕过它们,有时看着它在你正在使用的代码中使用会导致灯泡亮起。谢谢!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-24
  • 2016-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-23
  • 2023-03-06
相关资源
最近更新 更多