0
SELECT VendorState, VendorCity
FROM Vendors JOIN COUNT(*)InvoiceDate as TotalInvoices ON Invoices
WHERE VendorState = 'NV' AND 'MI'

上記の私の試みはまったく機能しません:/表示したい

状態が NV または MI の場合は、Vendors テーブルの VendorState

ベンダー市区町村

各都市の TotalInvoices と、TOTAL の最後に Invoices テーブルの InvoiceDate からカウントを描画します

4

3 に答える 3

0

試す

SELECT count(InvoiceDate) as [NumberInvoices], VendorState, VendorCity FROM Vendors inner JOIN Invoices ON Vendor PK* = Invoices FK WHERE VendorState in ('NV', 'MI') group by VendorState, VendorCity

于 2012-11-15T15:20:20.080 に答える
0

そのようにテーブルを結合することはできません。ベンダー ID など、両方のテーブルで共有される共通の値が必要です。

まず、次のとおりです。

select a.vendorstate, a.vendorcity, sum(invoices) as 'the sum'
from vendors a inner join invoices b on a.vendorid = b.vendorid
group by a.vendorstate, a.vendorcity
where state in ('NV','MI')

それはあなたの他の問題に似ています

于 2012-11-15T15:20:39.893 に答える
0

に参加するには、Invoicesテーブルに外部キーを指定する必要があります。次に例を示します。VendorsInvoices

SELECT v.VendorState, v.VendorCity, COUNT(i.InvoiceDate) AS Invoices
FROM Vendors v WITH(NOLOCK)
JOIN Invoices i WITH(NOLOCK) ON i.VendorID = v.VendorID
WHERE v.VendorState IN ('NV', 'MI')
GROUP BY v.VendorState, v.VendorCity
ORDER BY v.VendorState, v.VendorCity

明らかに、結合i.VendorID = v.VendorIDをここにあるはずのキーに変更する必要があります。

于 2012-11-15T15:29:46.000 に答える