我在SQL Server中有一个存储过程,我试图只选择列中的值不止一次的记录,这可能看起来有点像一个奇怪的请求,但我似乎无法弄清楚,我曾尝试使用HAVING子句,但没有运气..SQL只在列值超过一次时才选择记录
我希望能够只选择有多个帐户在那里有不止一次,所以例如:
ACCOUNT | PAYDATE
-------------------
B066 | 15
B066 | OUTSTAND
B027 | OUTSTAND <--- **SHOULD NOT BE IN THE SELECT**
B039 | 09
B039 | OUTSTAND
B052 | 09
B052 | 15
B052 | OUTSTAND
BO27不应该显示在我的选择中,而其余的帐户应该。
这里是我的起点和存储过程的结束:
Select * from (
*** SELECTS ARE HERE ***
) X where O_STAND <> 0.0000
group by X.ACCOUNT, X.ACCT_NAME , X.DAYS_CR, X.PAYDATE, X.O_STAND
order by X.ACCOUNT
我一直在为此而努力了一段时间,任何帮助或建议,将不胜感激。先谢谢你。
您需要返回哪些列?只是帐户?如果它有多次需要退回所有人或只是不同的帐户? –
我回来了所有人,为了举例,我只在问题中显示了2列。我将要返回不止一次的所有列值。我只是不想显示记录,如果值只在那里只有一次。 –
@DJONES试着计算(X.ACCOUNT)> 1'?我敢打赌:-) – krtek