我正在完成一项任务:
比较平均每日收入(正如我在Teradata第5周所定义的那样) 具有最高msa_income和商店的商店的练习指南) 具有最低中位数msa_income(根据msa_income字段)。 在这两个商店的哪个城市和州,以及哪个商店有一个 平均每日收入较高?
...答案键在ON
语句中有一个内部联接,这让我很困惑。我刚刚学会了加入FROM
。所以我在网上搜索了ON
语句中的内部联接,没有太多关于它的内容。
我是一名新学员,所以这个问题可能非常基础。提前感谢您的耐心等待!
我遇到问题的第一行是:ON m.store=t.store JOIN strinfo s
SELECT SUM(store_rev. tot_sales)
SUM(store_rev.numdays) AS daily_average,
store_rev.msa_income as med_income,
store_rev.city, store_rev.state
FROM (SELECT COUNT (DISTINCT t.saledate) as numdays,
EXTRACT(YEAR from t.saledate) as s_year,
EXTRACT(MONTH from t.saledate) as s_month, t.store,
sum(t.amt) as tot_sales,
CASE
when extract(year from t.saledate) = 2005 AND extract(month from t.saledate) = 8 then 'exclude'
END as exclude_flag, m.msa_income, s.city, s.state
FROM trnsact t JOIN store_msa m
ON m.store=t.store JOIN strinfo s
ON t.store=s.store
WHERE t.stype = 'P' AND exclude_flag IS NULL
GROUP BY s_year, s_month, t.store, m.msa_income, s.city, s.state
HAVING numdays >= 20) as store_rev
WHERE store_rev.msa_income IN ((SELECT MAX(msa_income)
FROM store_msa),(SELECT MIN(msa_income) FROM store_msa))
GROUP BY med_income, store_rev.city, store_rev.state;
答案 0 :(得分:0)
如果这样写的话,也许会更容易理解:
FROM trnsact t JOIN
store_msa m
ON m.store = t.store JOIN
strinfo s
ON t.store = s.store
JOIN
{/ 1}}语句中的ON
不是。 FROM
子句由多个连接组成,链接在一起。
您可以将JOIN
关键字视为结束ON
子句并开始新的连接条件。