1

我有两张桌子,一张叫Food,另一张叫FoodCategory。它们之间的关系是包含在两个表中的 FoodCatID。

我尝试存档的内容显示:

  • 牛肉

蔬菜

  • 番茄
  • 土豆

我假设我需要在查询中进行查询?我首先尝试使用 Distinct 来获取 2 个唯一的 FoodCatID:

Select Distinct FoodCategory.FoodCatID, FoodCategoryName
From Food INNER JOIN FoodCategory ON Food.FoodCatID = FoodCategory.FoodCatID

这将为我提供 2 个类别,但是我如何使用 CatID 来运行查询的第二部分?

我在 ColdFusion 页面上使用它,我应该使用 SQL 查询存档结果还是可以通过 CF 代码来存档?

4

1 回答 1

2

我应该使用 SQL 查询存档结果还是可以通过 CF 代码来存档?

两个都。使用单个 JOIN 检索类别和食物名称。SQL小提琴

SELECT fc.FoodCatID
       , fc.FoodCategoryName
       , f.FoodID
       , f.FoodName
FROM   FoodCategory fc INNER JOIN Food f ON f.FoodCatID = fc.FoodCatID
ORDER BY fc.FoodCategoryName, f.FoodName

然后使用“分组” cfoutput。列出所有食物 - 但只显示一次类别标题。

注意,结果必须先按类别名称排序,否则不起作用

  <cfoutput query="yourQuery" group="FoodCategoryName">
      <!--- display header once -->
      #FoodCategoryName#<br><br>
      <cfoutput>
         <!--- display all foods --->
          #FoodName#<br>
      </cfoutput>
  </cfoutput>
于 2013-08-30T04:40:41.543 回答