Teradata中的答案查询

时间:2019-04-16 10:38:02

标签: teradata

查询:2.列出在2000年小马丁·路德·金纪念日消费最多的前5位购物者(人数)。(提示:使用SELECT TOP 5…。)

SELECT TOP 5 Member_Dimension.Member_Key AS "Top 5 Members", Total_Scan_Amount As "Total Scan Amount"
FROM Item_Scan_Fact, Member_Dimension, Date_Dimension
WHERE Item_Scan_Fact.Member_Key = Member_Dimension.Member_Key
  AND Item_Scan_Fact.Transaction_Date_Key = Date_Dimension.Date_Key
  AND Date_Dimension.Year_Number = 2000
  AND Date_Dimension.Day_Description LIKE 'Martin';

我的代码不返回任何值,只是一个空表。我认为错误的来源是Day_Description,但我不确定。我相信这是因为当我删除WHERE子句下的Day_Description =时,代码确实返回了5个值的表。

这是在UA_SAMSCLUB_STAR下的Teradata上。非常感谢!

1 个答案:

答案 0 :(得分:1)

您的问题是Date_Dimension.Day_Description LIKE 'Martin'条件,该条件仅返回完全匹配。尝试使用Date_Dimension.Day_Description LIKE 'Martin%'

正如蒂姆已经指出的,添加ORDER BY Total_Scan_Amount DESC以获得最高金额。