Вход | Регистрация


Вопрос по SQL

Вопрос по SQL
Я
   lanc2233
 
30.04.18 - 13:10
INSERT INTO product
(code,brand_id,name)
VALUES('1', Ид бренда ,'test',)

Чтобы получить Ид бренда, нужно выполнить 

Select brand_id from brands where name = 'some_brand'

Можно ли это сделать одним запросом ?
 
 
   shuhard
 
1 - 30.04.18 - 13:11
(0) угу
   youalex
 
2 - 30.04.18 - 13:16
(0) ты уже все написал)
   shuhard
 
3 - 30.04.18 - 13:19
(2) =)
   lanc2233
 
4 - 30.04.18 - 13:20
Че просто, вместо Ид бренда Селект подставить?

А что будет если ошибка в базе, и две строки с таким наименованием?
   youalex
 
5 - 30.04.18 - 13:22
(4) вместо values
   youalex
 
6 - 30.04.18 - 13:29
хотя, можно и вместо ид, как-то так:
insert into @b(f1, f2)
values ((select top 1 f1 from @a), 8)
   rphosts
 
7 - 30.04.18 - 14:29
(4) бери максимум (или минимум)
   youalex
 
8 - 30.04.18 - 16:27
(4) >>А что будет если ошибка в базе, и две строки с таким наименованием?

это, на самом деле, такой вопрос.  Ты можешь обойти эту ошибку через TOP1, или, как в (7) - через агрегатную функцию.

С одной стороны, ты обойдешь ошибку, и она не будет выскакивать. С другой стороны, может быть,  лучше она сразу выскочит, чем ты допустишь неопределенность(случайность)  результата со всеми вытекающими.
   lanc2233
 
9 - 30.04.18 - 17:14
Спасибо

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует