Re: Thinking about code or SP
From: Kenny M. (KennyM_at_discussions.microsoft.com)
Date: 01/04/05
- Next message: Kenny M.: "Re: Thinking about code or SP"
- Previous message: Kenny M.: "Re: Thinking about code or SP"
- In reply to: John Gilson: "Re: Thinking about code or SP"
- Next in thread: Kenny M.: "Re: Thinking about code or SP"
- Messages sorted by: [ date ] [ thread ]
Date: Mon, 3 Jan 2005 17:37:05 -0800
Good!!
But what can I modify if I want to get all the numbers inside the gap in one
column?
"John Gilson" wrote:
> "Kenny M." <KennyM@discussions.microsoft.com> wrote in message
> news:068685F0-23B2-460F-B553-F41973C2CBAC@microsoft.com...
> > hi
> >
> > I have a SqlServer DB. A table receives tickets in secuence 1,2,3,4,5.... I
> > want to create an routine that can detect if a ticket is missing so I just
> > need to detect if the secuence is broken (1,2,3,5... 4 is missing)
> >
> >
> > I want to create a eficient routine (ASPNET/ C#) but I was thinking that
> > maybe a SP or TSQL instruction can facilitate the job.
> >
> > Is there something in SQLServer Stuff that can help me?
> >
> >
> > ______
> > Kenny M.
>
> CREATE TABLE Tickets
> (
> ticket_nbr INT NOT NULL PRIMARY KEY
> )
>
> -- Sample data
> INSERT INTO Tickets (ticket_nbr)
> VALUES (5)
> INSERT INTO Tickets (ticket_nbr)
> VALUES (6)
> INSERT INTO Tickets (ticket_nbr)
> VALUES (10)
> INSERT INTO Tickets (ticket_nbr)
> VALUES (12)
>
> If you need only gaps within the sequence, try:
>
> SELECT MAX(T2.ticket_nbr) + 1 AS begin_gap,
> T1.ticket_nbr - 1 AS end_gap
> FROM Tickets AS T1
> INNER JOIN
> Tickets AS T2
> ON T2.ticket_nbr < T1.ticket_nbr
> GROUP BY T1.ticket_nbr
> HAVING MAX(T2.ticket_nbr) + 1 < T1.ticket_nbr
> ORDER BY begin_gap
>
> begin_gap end_gap
> 7 9
> 11 11
>
> If the sequence must begin at 1 and you need the preceding gap also, try:
>
> SELECT COALESCE(MAX(T2.ticket_nbr) + 1, 1) AS begin_gap,
> T1.ticket_nbr - 1 AS end_gap
> FROM Tickets AS T1
> LEFT OUTER JOIN
> Tickets AS T2
> ON T2.ticket_nbr < T1.ticket_nbr
> GROUP BY T1.ticket_nbr
> HAVING COALESCE(MAX(T2.ticket_nbr) + 1, 1) < T1.ticket_nbr
> ORDER BY begin_gap
>
> begin_gap end_gap
> 1 4
> 7 9
> 11 11
>
> --
> JAG
>
>
>
- Next message: Kenny M.: "Re: Thinking about code or SP"
- Previous message: Kenny M.: "Re: Thinking about code or SP"
- In reply to: John Gilson: "Re: Thinking about code or SP"
- Next in thread: Kenny M.: "Re: Thinking about code or SP"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|