日期:2014-05-18  浏览次数:20428 次

最后的分数了.最后一个问题了..SQL基础语句(做了三天了,还是搞不完善)
详细表结构是这样的:希望大家帮我出谋划策了..搞了三天了了.
ArticleID       ChannelID       ClassID     Title
486                     1011                 5                 abc                
487                     1022                 5                 cba
489                     1039                 9                 abc
450                     1039                 5                 abc
491                     1039                 6                 aaa
大概有三万条吧..
功能:
1:把ChannelID=1039的数据全部取出来.
2:把取出来的数据,进行第二次取数据,如果ChannelID和ClassID和Title如果相等的话,就把数据取出来.
我试过了好多方法,好象都不完全正确..所以发上来给大家研究一下..


------解决方案--------------------
1:select * from table where ChannelID=1039;
1就不用说了


2:用1的结果,就是后3条纪录
可是ChannelID和ClassID和Title如果相等的话,怎么相等啊?是上下纪录,还是统一纪录
什么意思啊?
给出你希望的结果
------解决方案--------------------
看这样行不?
select a.ChannelID, a.ClassID,a.Title
from (
select * from PE_Article where ChannelID= '1039 ')a inner join
(
select * from PE_Article where ChannelID= '1039 ')b
a.ClassID=b.ClassID and a.Title=b.Title and a.ArticleID <> b.ArticleID