Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 15.01.2016, 15:29   #1
qwq
Пользователь
 
Регистрация: 05.11.2009
Сообщений: 96
По умолчанию Запрос на добавление с условием

Доброго времени суток. Помогите пожалуйста, давно не работал с базами и не могу вспомнить как сделать запрос. Имеются две таблицы, одна организации(id, название организации, дата открытия), вторая пользователи(id, фио, адрес проживания, id_org). На форме имеются поля в которые вносится информация по пользователю, есть комбобокс в котором имеются названия всех организацй.

Нужен запрос добавляющий данные в таблицу пользователи. Заполняю все поля на форме, в комбобоксе выбираю организацию, дальше нужно получить id из таблицы организации и записать этот его в таблицу пользователи в поле id_org.

по отдельности получение из таблицы и добавление новой записи реализовать могу, а вот как это все объединить в один запрос не помню
qwq вне форума
Старый 15.01.2016, 15:32   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Код:
insert into users  (..., id_organ)
select ..., id from organs where organs.name=....
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума
Старый 15.01.2016, 15:45   #3
qwq
Пользователь
 
Регистрация: 05.11.2009
Сообщений: 96
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
Код:
insert into users  (..., id_organ)
select ..., id from organs where organs.name=....
Не могу до конца понять, делаю у себя вот так

Код:
INSERT INTO пользователи (фио, адрес, id_org)
SELECT org.id FROM org WHERE (org.name= комбобокс.выбранныйэлемент)
получаю ошибку что не все поля INSERT заполнены.
Запрос на добавление ведь выглядит вот так?
Код:
INSERT INTO пользователи (фио, адрес, id_org) VALUES ('Иванов Иван Иванович','Москва','Фирма')
как вместо Фирма получить запросом id организации и передать это значение в запрос INSERT?

Последний раз редактировалось qwq; 15.01.2016 в 16:00.
qwq вне форума
Старый 15.01.2016, 15:53   #4
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

Цитата:
INSERT INTO пользователи (фио, адрес, id_org)
SELECT org.id FROM org WHERE (org.name= комбобокс.выбранныйэлемент)
Считать на пальцах не умеем?
(фио, адрес, id_org) тут 3 колонки
SELECT org.id FROM тут 1 колонка
пальцы загибать надо
come-on вне форума
Старый 15.01.2016, 16:00   #5
qwq
Пользователь
 
Регистрация: 05.11.2009
Сообщений: 96
По умолчанию

Цитата:
Сообщение от come-on Посмотреть сообщение
Считать на пальцах не умеем?
(фио, адрес, id_org) тут 3 колонки
SELECT org.id FROM тут 1 колонка
пальцы загибать надо
Ну вообще то вопрос не тебе, раз ты можешь только пальцы загибать вместо того чтоб ответить. А во-вторых, я ясно написал, данные для добавления берутся с формы, за исключением id организации

Запрос типа
Код:
INSERT INTO пользователи (фио, адрес, id_org) VALUES ('Иванов Иван Иванович','Москва',SELECT org.id FROM org WHERE (org.name= комбобокс.выбранныйэлемент))
сразу понятно что не правильный, но мне нужно что то типа этого
qwq вне форума
Старый 15.01.2016, 16:22   #6
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

К неумению считать еще и читать не научили в школе?
come-on вне форума
Старый 15.01.2016, 16:25   #7
qwq
Пользователь
 
Регистрация: 05.11.2009
Сообщений: 96
По умолчанию

Цитата:
Сообщение от come-on Посмотреть сообщение
К неумению считать еще и читать не научили в школе?
Тупым флудом решил репутацю поднять? Есть тут еще один такой же. Я думал тут по делу отвечают а не срач разводят
qwq вне форума
Старый 15.01.2016, 16:27   #8
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

Так и мы думаем что тот кто спрашивает еще и ответы читает и думает, ан нет, как оказывается, что поделать..
come-on вне форума
Старый 15.01.2016, 16:37   #9
qwq
Пользователь
 
Регистрация: 05.11.2009
Сообщений: 96
По умолчанию

Решение

Код:
declare @id_org int;
set         @id_org = 
                 (SELECT org.id 
                  FROM org 
                  WHERE (org.name= комбобокс.выбранныйэлемент));
                INSERT 
                 INTO     пользователи (фио, адрес, id_org) 
VALUES ('Иванов Иван Иванович', @id_org);
qwq вне форума
Старый 15.01.2016, 16:40   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

И без лишнего SELECT-а
Код:
INSERT INTO пользователи (фио, адрес, id_org) 
  SELECT 'Иванов Иван Иванович','Москва',id FROM org WHERE name= 'чего-то'
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос добавление строки, копирование данных с условием MaxxVer Microsoft Office Excel 15 22.08.2017 12:24
Удаление добавление защищенных строк с условием normres Microsoft Office Excel 20 14.10.2013 19:35
Запрос с условием Not In d_adilet Microsoft Office Access 1 29.03.2012 08:50
Перекрестный запрос с условием sasha-infocom Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 0 10.04.2011 08:49
Запрос с условием ArtInt SQL, базы данных 2 05.05.2010 15:58