日期:2014-05-20  浏览次数:20506 次

【【急急急】】求一条sql语句。
现在有Node表
NodeID,NodeName,ParentID,IsSubDomain
1 服装 0 0
2 美发 0 1
3 日韩风 1 1
4 英伦 1 0
5 卷发 2 0
5 萝卜头 2 0

文章表Article
ArticleID,Title,Content,ParentID,NodeID.
现在我要查这样的结果。
Select a.id,a.Title,b.IsSubDomain from article a inner join Node b on a.NodeID=b.NodeID where b.id=2 and ParentID=0

我的结果要是
ID,Title,IsSubDomain 这样的3个。
我要查出IsSubDomain这个属性。 但是我上面因为限定了ParentID=0 即只判断了大类.文章还有个小类ID.即NodeID.
但是文章只要 大类的IsSubDomain=1或着小类的IsSubDomain=1 查出的结果返回IsSubDomain就是1.


------解决方案--------------------
1)select * from node where ParentID=0 大类

2)可根据(1)读取得到ParentID 再次查找
select * from node where nodeId=dr["ParentID"]; 查找当前选择类下面的小类

3)可根据(2) 读取NodeID 查找文章是数
select * from Article where nodeId=dr["NodeID"]

不是很看得懂你要的是什么,有示例数据和结果图 可能好说话


------解决方案--------------------
没看太明白 你的SQL里 where b.id=2 and ParentID=0 没看懂
------解决方案--------------------
说实话 看了半天用没看懂需求
------解决方案--------------------
很奇怪 Node有parentID Article也有parentId
------解决方案--------------------
效率什么的不懂
------解决方案--------------------
要是递归的话 用with as