SQL selecteer meerdere rijen met gegevens en vergelijk

Wat zou de beste aanpak zijn in SQL Server 2008 om iets te selecteren dat 10 lijst met gegevens kan bevatten , dan die gegevens vergelijken met een specifieke waarde in een van zijn kolommen

Dus zoiets als dit hieronder

SELECT bType FROM WORK_STATION WHERE nFileId = 123456789

Die ofwel 1 - 10 waarden MAX zou kunnen teruggeven (retourneert minstens één waarde). Vervolgens om de gegevens uit die SQL-instructie hierboven te vergelijken die we zojuist hebben geselecteerd om een ​​specifieke waarde te krijgen voor zoiets

if bType = 1
--DO something

Wat is de beste benadering om zoiets te doen?

0

2 antwoord

declare @table as table(btype int)
declare @btype int

insert into @table
SELECT bType FROM WORK_STATION WHERE nFileId = 123456789

while(exists(select top 1 'x' from @table)) --as long as @table contains records continue
begin
   select top 1 @btype = btype from @table

   if(@btype = 10)
     print 'something'

   delete top (1) from @table --remove the previously processed row. also ensures no infinite loop
end 
1
toegevoegd

Ik denk dat je SP kunt gebruiken om variabelen te declareren en deze vervolgens met de resultaatset te vergelijken. Als je weet dat je maar 10 waarden hebt, kun je temp-tabel gebruiken en 10 waarden invoegen.

Ik hoop dat dit nuttig is.

0
toegevoegd