Я реха и работаю в базе данных.Я более свежая только с прошлых 2 месяцев, я работаю на сервере sql.
У меня есть запрос, который у меня есть 2 таблицы. Например, таблица businesstype содержит идентификатор, businesstype и местоположение на основе местоположения, я буду получатьdata.thas fine.and вторая таблица похожа на employee, а столбцы - id, name и businesstype.so мой вопрос для каждого businesstype. В конечном итоге я получу записи из таблицы employee:
1, sathish,softwar 4, pushpa, Software 2, ramesh, Electronics 4, rajesh, Electronics
Я решаю этот вопрос с помощью объединений, операторов и подзапросов. Но мне нужно решение этого запроса с помощью курсоров.
Я написал следующим образом:
1) ВЫБЕРИТЕ ID, Имя, BusinessType ОТ сотрудника, ГДЕ BusinessType в (выберите BusinessType из Employee) порядок по BusinessType desc
2) выберите ID,Имя, BusinessType от Employee, где существует (выберите BusinessType из Employee)
3) выберите @Location = Местоположение из @BusinessTypeTemp
выберите ID, BusinessType, Location из BusinessType, где Location = @ Location
DECLARE @TempEmployeeInfo varchar(500)
DECLARE @pos int,
@nextpos int,
@nextRecpos int,
@valuelen int
/ * создание временной таблицы для вставки типов адресов * /
CREATE TABLE #EmployeeInfo (BusinessType nvarchar(80) )
SELECT @TempEmployeeInfo = BusinessType FROM @EmployeeTemp
/* Код для проверки разделителя: ',' и сохранения во временную таблицу * /
SELECT @pos = 0, @nextpos = 1
WHILE @nextpos > 0
BEGIN
SELECT @nextpos = charindex(',', @TempEmployeeInfo, @pos + 1)
SELECT @valuelen = CASE WHEN @nextpos > 0
THEN @nextpos
ELSE len(@TempEmployeeInfo) + 1
END - @pos - 1
INSERT #EmployeeInfo(BusinessType) VALUES (convert(nvarchar, substring(@TempEmployeeInfo, @pos+1, @valuelen)))
SELECT @pos = @nextpos
END
SELECT @Count = count(BusinessType) from Employee WHERE BusinessType IN (SELECT BusinessType FROM #EmployeeInfo)
PRINT @count
IF(@Count<>0)
BEGIN
select ID,Name,BusinessType from Employee
WHERE BusinessType IN (SELECT BusinessType FROM #EmployeeInfo)
order by BusinessType desc
END
ELSE
BEGIN
SELECT 0 as ReturnID
END
Но они не хотят этого, они хотят получить результат, используя только курсоры. А также я хочу отобразить обаТаблица результатов в одном SP.
Так что, пожалуйста, кто-нибудь, помогите мне.Пожалуйста, отправьте ответы срочно, потому что сегодня мой последний день, чтобы решить эту проблему.
Rekha