Подзапрос возвращает более 1 значения это не допускается, если подзапрос следует = , >=, >, & lt;, & lt;=
когда я вставляю данные сотрудника, возникает эта ошибка
подзапрос возвращает более 1 значения это не допускается, если подзапрос следует = , >=,>, & lt;,<=
Что я уже пробовал:
вставить в Transaction_Employee(Memployee_id,Emp_bio_id,des_id,Department_id,Unit_id,etype_id,payment_id,Leave_id,joining_date,resign_date,leave_start_date,Bank_id)
Ценности
(
@memployee,@emp_bio_id,(выбрать различные des_id от Setup_designation где des_name=@назн),(выбрать различные Department_id от Setup_Department где Depart_name=@deprt),
(выбрать различные Unit_id от Setup_Unit где unit_name=@блок),(выбрать различные etype_id от Setup_Enployeetype где эмаль кулон=@emp_type),
(выбрать различные payment_id от Setup_Payment_Type где payment_name=@платежа),(выбрать различные Leave_id от Setup_Leave где leave_name=@leavename),
@joining_date,@resign_date,@leave_startdate, (выберите отдельный Bank_id из Setup_Bank, где bank_name=@bank_name)
)
FranzBe
вам нужно проверить все ваши подзапросы и убедиться, что они имеют результат по 1 значению каждый. вы вставляете одну запись в таблицу transaction_employee. эта запись содержит один 'des_id', поэтому подзапрос '(select distinct des_id From Setup_designation where des_name=@desig) ' не должен приводить к более чем 1 значению (и другие подзапросы тоже не должны)
Ali Khan
так каков же правильный ответ?
FranzBe
Я не могу заглянуть в вашу базу данных, поэтому не могу вам сказать. Проверяйте свои подзапросы один за другим, пока не найдете тот, который приводит к более чем одному значению. Если вы его найдете, вам нужно что-то изменить.
Ali Khan
Итак, если я правильно выберу TOP1 ?
FranzBe
Я не могу сказать вам об этом из того небольшого контекста, который вы показали. Я не хочу вкладывать в ответ больше усилий, чем вы вкладываете в вопрос. С моей точки зрения(что может быть неверно) у вас есть некоторая ошибка в вашей логике. например, возьмите '(select distinct Bank_id from Setup_Bank where bank_name=@bank_name)' 1) 'distinct' здесь не нужен, вы ищете идентификатор банка с заданным именем. Результат должен быть ровно один. 2) Если этот запрос приводит к более чем одной строке, что-то не так с вашей моделью базы данных, возможно, вам нужно обеспечить уникальность с помощью уникального ограничения.