mam listę rekordów i stworzyli kursor pętli każdego rekordu i sprawdzić pewien warunek i rekord powrócić, jeśli spełnia mój kursor jest w następujący sposób:rekord pobrać od kursora w SQL
DECLARE @ID int
DECLARE @FromDate datetime, @ToDate datetime
DEClare @expid as int
set @expid = 839
DECLARE IDs CURSOR FOR
select patpid,fromdate,todate from tdp_ProviderAccomodationTariffPlan where fk_patid = 162 and fk_pacid = 36
OPEN IDs
FETCH NEXT FROM IDs into @ID,@FromDate,@ToDate
WHILE @@FETCH_STATUS = 0
BEGIN
print @ID
print @FromDate
print @ToDate
--SELECT patpid,rate,SType FROM tdp_ProviderAccomodationTariffPlan
--WHERE ('2012-12-27' BETWEEN @FromDate AND @ToDate) and fk_patid = 162 and fk_pacid = 36
FETCH NEXT FROM IDs into @ID,@FromDate,@ToDate
END
CLOSE IDs
DEALLOCATE IDs
w kursora pętli pobrania rekord, którego identyfikator to "839", pomóż mi rozwiązać problem.
Jaki jest twój problem? Kursor pobiera złe dane? Czy możesz pokazać dane źródłowe? –
Chcę pobrać rekord, który ma identyfikator = 839 z pętli, zobacz komentarz, który został zaznaczony w kodzie, w którym chcę napisać instrukcję select, która zwraca tylko jeden rekord, gdzie id to 839, jak to zrobić, – DharaPPatel
Still didn ' t dostań to. Dlaczego zatem używasz kursora? Po prostu użyj instrukcji 'SELECT' z klauzulą" WHERE "klauzula –