我有一个 SQL Server 数据库,我需要从两个视图中选择剩余的行。
其背后的想法是:我将游戏分区存储在一张桌子上,而将部落存储在另一张桌子上。
vwGetGameDivisions
得到所有可以划分的游戏 。vwGetClanDivisions
获取氏族订阅的所有当前游戏部门。
目前,使用
SELECT dbo.vwGetGameDivisions.name, dbo.vwGetClanDivisions.clanName
FROM dbo.vwGetClanDivisions
RIGHT OUTER JOIN
dbo.vwGetGameDivisions
ON dbo.vwGetClanDivisions.gameName = dbo.vwGetGameDivisions.name
获取注册到他们的所有“部门”和“氏族”。
我想显示剩余的部门(某个氏族未注册的其余部门),因此我可以将其绑定到dropDownList
一个氏族以查看他们仍然可以订阅的内容。
我仍然是 SQL 查询的新手,甚至不知道该怎么做。
我试过WHERE (dbo.vwGetClanDivisions.clanName = NULL)
了,但这只会返回根本没有氏族的师。
编辑 - 结构:
CREATE TABLE [dbo].[tblSiteClanGameDivision](
[id] [int] IDENTITY(1,1) NOT NULL,
[clanId] [int] NOT NULL,
[gameId] [int] NOT NULL,
[removed] [tinyint] NOT NULL,
[dateAdded] [datetime] NOT NULL,
CONSTRAINT [PK_tblSiteClanGameDivision] PRIMARY KEY CLUSTERED
CREATE TABLE [dbo].[tblSiteGame](
[id] [int] IDENTITY(1,1) NOT NULL,
[name] [nvarchar](200) NOT NULL,
[description] [nvarchar](700) NULL,
[thumbnailLocation] [nvarchar](100) NULL,
[genreId] [int] NOT NULL,
[isDivision] [tinyint] NOT NULL,
CONSTRAINT [PK__tblGame__3213E83F03317E3D] PRIMARY KEY CLUSTERED
CREATE VIEW [dbo].[vwGetClanDivisions]
AS
SELECT dbo.tblSiteClanDetail.clanId, dbo.tblSiteClanDetail.clanName, dbo.tblSiteGame.id AS gameId, dbo.tblSiteGame.name AS gameName,
dbo.tblSiteClanGameDivision.removed, dbo.tblSiteClanGameDivision.dateAdded
FROM dbo.tblSiteClanDetail
INNER JOIN dbo.tblSiteClanGameDivision ON dbo.tblSiteClanDetail.id = dbo.tblSiteClanGameDivision.clanId
INNER JOIN dbo.tblSiteGame ON dbo.tblSiteClanGameDivision.gameId = dbo.tblSiteGame.id
GO
CREATE VIEW [dbo].[vwGetGameDivisions]
AS
SELECT id, name, thumbnailLocation, isDivision
FROM dbo.tblSiteGame
WHERE (isDivision = 1)
GO