1

2 つのクエリを実行して、同じデータベース内の 2 つのテーブルのデータからテーブルを構築しています。現在のコードは以下のとおりですが、この方法で不要な負荷を作成していることはわかっています。同じ結果を得るためにテーブルに参加しようとしましたが、うまくいきませんでした。入力はありますか?

<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>
4

1 に答える 1

5

データベース結合は非常に基本的なものです。それらについて自分自身を教育するのは良いことです。

いずれにせよ、次のようなことをしたいようです:

<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>
于 2016-08-18T14:56:53.477 に答える