SQL - ограничить значения вставки из другой таблицы
Я пытаюсь вставить следующее:
insert into TABLEA select b.ID,..... from TABLEB b where code = 'NL'
проблема в том, что выберите * из TABLEB, где code = 'NL'; возвращает более 1 значения.
есть ли в любом случае, чтобы ограничить это только 1 значение?
Я старался select min(b.id)
но это не сработало
2 ответа
Использовать где rownum = 1
insert into TABLEA select b.ID,..... from TABLEB b where code = 'NL' and rownum = 1
Но вы уверены, что хотите сделать это? Что делать, если это на самом деле 2-й ряд вы хотите. Возможно, вы захотите выяснить, почему ваш запрос возвращает более одного.
Из того, что я могу собрать, вы хотите, чтобы был вставлен только один случай, когда code = NL, хотя есть несколько записей, которые соответствуют этому.
Если это то, что вы хотите, измените ваш "select *" на "select top 1 *", и он будет извлекать только одну запись из вашего подзапроса.