我有两个表:Phrase和PhraseCategory
它们与Phrase.CategoryId
== PhraseCategory.PhraseCategoryShortId
CREATE TABLE [dbo].[Phrase] (
[PhraseId] UNIQUEIDENTIFIER DEFAULT (newid()) NOT NULL,
[English] NVARCHAR (250) NOT NULL,
[CategoryId] INT NULL,
PRIMARY KEY CLUSTERED ([PhraseId] ASC)
);
CREATE TABLE [dbo].[PhraseCategory] (
[PhraseCategoryShortId] INT IDENTITY (1, 1) NOT NULL ,
[Name] VARCHAR (100) NOT NULL,
PRIMARY KEY CLUSTERED ([PhraseCategoryShortId] ASC)
);
有人可以帮我就如何加入这些建议提供一些建议,以便我得到一份如下报告:
PhraseCategory.Name Qty
其中,数量是每个类别中的短语数量。
我还需要按照PhraseCategory.Name
的顺序对报告进行排序答案 0 :(得分:0)
除非我遗漏了一些东西,否则这只是一个加入
如果您只想要具有词组条目的短语类别
SELECT PhraseCategory.name, count(*) AS qty
FROM Phrase
JOIN PhraseCategory
ON Phrase.CategoryId = PhraseCategory.PhraseCategoryShortId
GROUP BY PhraseCategory.name
如果您对所有名称感兴趣,包括没有短语条目的名称
,请使用LEFT JOIN答案 1 :(得分:0)
如果您加入他们,在查询开始时您正在编写SELECT ColA, ColB, ...
,您可以在此之后创建GROUP BY。它看起来像:
SELECT Sum( ColC ), ColA, ColB
FROM (
SELECT t1.ColA, t1.ColB, t2.ColC
FROM Table1 t1, Table2 t2
WHERE t1.ColB = t2.ColB) r
GROUP BY r.ColC