我有2个表,一个叫做Food,另一个叫FoodCategory。它们之间的关系是FoodCatID,它包含在两个表中。
我尝试存档的内容显示:
我假设我在查询中需要查询?我首先尝试使用Distinct来获得2个独特的FoodCatID:
Select Distinct FoodCategory.FoodCatID, FoodCategoryName
From Food INNER JOIN FoodCategory ON Food.FoodCatID = FoodCategory.FoodCatID
这将给我两个类别,但是我如何使用CatID来运行查询的第二部分?
我在ColdFusion页面上使用它,我应该使用SQL查询存档结果还是可以通过CF代码进行存档?
答案 0 :(得分:2)
我应该使用SQL查询归档结果,还是可以通过SQL查询来完成 CF代码?
两者。使用单个JOIN检索类别和食物名称。的 SQL Fiddle 强>
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>