![]() |
Модераторы: skyboy |
![]() ![]() ![]() |
|
anti_snayper |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 80 Регистрация: 13.2.2007 Репутация: нет Всего: нет |
Есть две таблицы. Первая таблица "questions" - id | question. Вторая таблица "answers" - answer_id | answer | correct | question_id. Надо в "answers" вставить запись вида: ('answer', 'correct', (Select question_id From questions Where question ='question')). Каряво канечно написал...
Другими словами, первые 2 значения я подставляю сам, третье должно выбираться из базы запросом: Select question_id From questions Where question ='question' Это сообщение отредактировал(а) anti_snayper - 29.7.2008, 09:06 |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
какая СУБД?
Формально должны быть 2 запроса - стандарт не допускает использования набора записей в качестве значения обновляемого поля. Но если диалект это допускает... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
anti_snayper |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 80 Регистрация: 13.2.2007 Репутация: нет Всего: нет |
mssql
|
|||
|
||||
Nuzur |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 4.7.2004 Репутация: нет Всего: 5 |
INSERT INTO t( col1, col2, col3 ) VALUES('myfirstval', 'mysecondval', ( SELECT ... ) ); Но есть одно но. Значение ( SELECT ... ) должно быть уникальным тоесть возвращать всегда одно значение иначе получите ошибку. Удачи. ЗЫ к сожелению MS SQL сейчас нет под рукой но Oracle отработал как надо а учитывая что они оба должны поддерживать стандарт 92 года то должно работать... -------------------- Never again... |
|||
|
||||
anti_snayper |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 80 Регистрация: 13.2.2007 Репутация: нет Всего: нет |
Видимо нет... Выдает ошибку:"Subqueries are not allowed in this context. Only scalar expressions are allowed". Все-равно спасибо за помощь! |
||||
|
|||||
ТоляМБА |
|
|||
![]() Котэ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1607 Регистрация: 15.12.2004 Репутация: 4 Всего: 252 |
Только если будет более одной строки в результате запроса ошибки не будет, но 'myfirstval' AS A1, 'myfirstval' AS B1 будут одинаковые |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
Я о том и говорю. Набор записей, в котором одна запись с одним полем, все равно остается набором записей, а не скалярным значением. И стандарт, кстати, не допускает этого. Просто некоторые движки имеют соответствующее нестандартное расширение (мускул, оракл, ...). -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |