Kanske inte bra titel, men kom inte på någonting annat. Låter nästan som om jag skulle dela upp dom i två tabeller. Egna låtar i en tabell och cover i den andra. Då blir det ju inga problem med att ta ut det högsta numret på respektive grupp. Problemet är inte att ta ut de högsta nummren, utan vilka av nummren som är upptagna. Du förklarar ditt problem ganska otydligt.. Tack.Problem med avancerad SQL
Fakta:
I tabellen t_songtitlar ligger bl a ArrNo(nvarchar,3) sparade.
Jag har två huvudgrupper:
1 från 1 till 55(denna gruppen är enbart egna låtar)
901 till 905(detta är kover(andras låtar som jag spelat in)
Problemet.
Jag skulle behöva få hjälp med en SQL, som kan plocka ut alla lediga ArrNo mellan 1 till 55 + 1(kanske fel men jag menar nuvarande högsta under 900) och 901 till 905(här menar jag också det högsta värdet) + 1Sv: Problem med avancerad SQL
Sv: Problem med avancerad SQL
I dag så är det som så att upptagna nummer ser ut så här
002
002
005
006
011
014
osv
Likadant i när det gäller cover.
Att ta ut nu de olika blir ju:
<code>
Select top 1 arrno FROM t_songtitlar where arrno < 900 order by arrno desc
// nästa
Select top 1 arrno FROM t_songtitlar w order by arrno desc
</code>
Det är inte där problemet är utan jag jag ville ha tag i de lediga ArrNo
+ 1
Kan man inte göra det med SQL?Sv: Problem med avancerad SQL
Jag tolkar dig som att du har (i huvudet) att det kan finnas nummer mellan 1-51 men att en del nummer är upptagna (i form av rader i tabellen).
Du vill då välja de nummer som inte är "tagna"?
Du kan inte få ett svar med poster som inte finns.
Du måste få in dina tänkta poster på nåt sätt. Antingen i din grundtabell, i en tabell med bara dessa nummer som är tänkbara eller genom en temporär tabell skapa de nummer som finns i ditt intervall.. sen kan du göra join och få ut alla lediga nummer.
OlaSv: Problem med avancerad SQL
Jag gjorde en loop som lade till alla icke upptagna nummer.