我正在练习使用AdventureWorks,这就是问题所在: 2002年10月有多少销售订单(标题)使用Vista信用卡
SELECT * FROM Sales.SalesOrderHeader --a
SELECT * FROM Sales.CreditCard --b
SELECT
SUM(a.OrderDate), b.CardType
FROM
[Sales].[CreditCard] b
LEFT OUTER JOIN
[Sales].[SalesOrderHeader] a
我不确定如何编写此查询。我是SQL的新手,这是我的第一个JOIN。眼睛是红色的...谢谢
答案 0 :(得分:0)
有几个问题:
sum
日期。你必须在这里使用count
。outer join
。使用inner join
。原因是您只希望SalesOrderHeader
也具有相应的CreditCard
where
条款联接需要on
条件
从中选择计数(*) CreditCard cc内部加入SalesOrderHeader,所以cc.Id = so.CreditCardId 其中cc.CardType ='Visa'和so.OrderDate介于'2002-10-01'和'2002-10-31'之间
我猜到了外键字段cc.Id
和so.CreditCardId
的名称,因为您没有注明这条信息。