2016-07-13 20 views
-3

私は、これらのテーブルを持っている:2つのテーブルを結合し、値のカウントをカウントするにはどうすればよいですか?

CREATE TABLE [dbo].[Word] 
(
    [WordId]  UNIQUEIDENTIFIER DEFAULT (newid()) NOT NULL, 
    [Name]   VARCHAR (20)  NOT NULL, 
    [Ascii]   AS    (ascii([Name])) PERSISTED, 
    PRIMARY KEY CLUSTERED ([WordId] ASC) 
); 

CREATE TABLE [dbo].[WordForm] 
(
    [WordFormId] UNIQUEIDENTIFIER DEFAULT (newid()) NOT NULL, 
    [WordId]  UNIQUEIDENTIFIER NOT NULL, 
    [SourceId]  INT    DEFAULT ((1)) NOT NULL, 
    CONSTRAINT [PK_WordForm] PRIMARY KEY CLUSTERED ([WordFormId] ASC), 
); 

は、私はこれらの2つのテーブルを結合し、第二の表のSourceIdが1の値を持つ各異なるASCII値のカウントを表示することができます方法はありますか?以下のようなもの戻すに

:あなたは内側のSELECT文で結合を使用することができます

a 25 
b 30 
c 22 
d 10 
+3

を基本的な単純なまたは非常に不明なuber基本的な。サンプルデータを提供する – Amit

答えて

1

は、あなたがこのような何かを意味します:どちらかだ

SELECT W.Ascii, COUNT(*) AS [Count] FROM Word W 
INNER JOIN WordForm WF 
ON W.WordId = WF.WordId 
WHERE W.WordId = 1 
GROUP BY W.Ascii 
1

を...

SELECT W.Ascii, COUNT(1) 
FROM 
    [dbo].[Word] W 
    INNER JOIN [dbo].[WordForm] WF 
     ON WF.WordId = W.WordId 
WHERE 
    WF.SourceId = 1 
GROUP BY 
    W.Ascii 
関連する問題