Ich habe mir nun eine SP geschrieben, die bei einer bestimmten Anzahl Zeilen dieser Tabelle den Status von 0 auf 1 setzt. Wie kann ich dem Update-Statement, welches ich übrigens mit ROWCOUNT auf die gewünschte Anzahl begrenze, sagen, dass ich nur Zeilen will, die in der selben ROW sind und bei denen der Abstand zwischen den SEATS nicht grösser als 1 ist?
Hi,
MS-SQL kenne ich nicht so gut, aber das müßte auch hier gehen:
bei mir genauso …
select id, row, seat
from kinositze ks
where exists(select id
from kinositze ks1
where ks1.row = ks.row
and ks1.seat - ks.seat = 1);
Auf die Ergebnismenge solltest Du die Einschränkung der Anzahl
anwenden.
könnte aber auch mit
select k1.id,k1.row,k1.seat
from kinositze k1, kinositze k2
where (k1.seat - k2.seat) = 1;
and k1.row = k2.row;
das würde - zumindest in oracle - einen full-table-scan umgehen (ich hoffe doch, daß ein paar indizes vorhanden sind) und sich - bei größeren tabellen - erheblich auf die performance auswirken …