【发布时间】:2010-10-07 07:58:57
【问题描述】:
我有以下 2 张桌子
Channels:
Id int PK
Title varchar
SubChannels:
ChannelId int
SubchannelId int
当我从服务接收数据时,我试图将其保存到 SQL。我收到了几个 Channel 实例,所以我将它存储在 Channels 表中,之后我试图持久化每个子通道(每个通道都包含子通道列表),所以,我将子通道存储在同一个表 Channels 中,并将它们的 Id 存储到SubChannel 表的方式如下:ChannelId - SubChannelId。
所以,我需要通过一次查询来获取这棵频道树 我正在尝试用这个查询来做到这一点:
SELECT * FROM Channels
EXCEPT
SELECT Channels.Id, Channels.Title
FROM Channels INNER JOIN SubChannels
ON Channels.Id = SubChannels.SubchannelId
但我不能正常工作。使用 MSSQL 可以正常工作,但在我的 SQLite 中出现了问题。
您能否帮我解决这个查询,或者建议我使用其他解决方案来将此树存储在 SQL 中。
我的频道类如下所示:
int Id
string Title
List<Channel> SubChannels
提前致谢
【问题讨论】: