Avatar billede madsling Nybegynder
20. november 2003 - 08:49 Der er 4 kommentarer

Get and compare values in the latest two tupples.

Hvordan kan man sammenligne en værdi i to rækker i den samme tabel?
Avatar billede erikjacobsen Ekspert
20. november 2003 - 08:55 #1
Det kommer an på hvad du vil. Men du kan godt lave en join mellem en tabel og sig selv.
Avatar billede madsling Nybegynder
20. november 2003 - 08:58 #2
jeg skal hente de to seneste tupler i en tabel og sammenligne en værdi fra dem begge...
Avatar billede erikjacobsen Ekspert
20. november 2003 - 09:02 #3
Prøv at komme med et konkret eksempel.
Avatar billede trer Nybegynder
20. november 2003 - 09:33 #4
Når du skal sammenligne data mellem to rækker, så hænger du næsten altid på at skulle bruge en cursor - specielt hvis du ønsker at styre udfaldet.

Ellers  skal du lade din applikation foretage sammenligningen - men det er så faktisk det samme som at benytte en cursor.

eks

declare @col1a int, @col2a varchar(8), @col1b int, @col2b varchar(8)
declare crsr cursor local fast_forward for
select top 2 col1, col2 from mytable

open crsr
fetch next from crsr into @col1a, @col2a
fetch next from crsr into @col1b, @col2b
close crsr
deallocate crsr

if @col1a <> @col1b or @col2a <> @col2b begin
  ...
end else begin
  ...
end



En anden mulighed er, hvis der er en unik nøgle på dine rækker som ikke skal indgå i sammenligningen, så kan du blot gøre noget i denne stil:
select count(*) from (
select col1, col2 from mytable
where id = 1
union
select col2, col2 from mytable
where id = 2
) x

Din count vil nu indeholde et 1 tal hvis de to rækker er ens og to hvis de er forskellige...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester