2013-12-08 3 views
-1

Я работал над таблицами (персонами) и (платежами). Платежи содержат столбцы (payment_id, payment_value, payment_class, date, name, person_id). Теперь я хочу вставить данные в платежи, выбрав из таблицы лиц, как этогоВставить данные в таблицу из выбранного состояния

insert into Payments(payment_id , payment_value , payment_class , date , name , person_id) 
select person_id , person_name , person_status from Persons where person_status = 'sub' 

как вставить платежи каждому человеку, выбранный из таблицы лиц ..

+0

Какие ценности вы хотите вставить? Вы сообщаете вставить, что вы заполните все эти столбцы, но вы выберете некоторые другие значения из таблицы лиц. Это не сработает –

+0

Мне просто нужно заполнить столбец даты с датой даты, я объявлю ее позже, а все остальные столбцы я хочу, чтобы она была нулевой – Hamonbatra

+0

Хотите что-то указать на значение даты? текущее время? –

ответ

0

по вашему требованию, следующий запрос вставляет запись с текущей датой и все остальные столбцы в нуле столовые платежи для каждого лица

INSERT INTO Payments (payment_id,payment_value,payment_class,date,name,person_id) 
SELECT NULL, NULL, NULL, GETDATE(), NULL, NULL 
FROM Persons 
WHERE person_status = 'sub'; 

Если вы хотите person_id извлечены непосредственно из таблицы лиц, вы можете сделать:

INSERT INTO Payments (payment_id,payment_value,payment_class,date,name,person_id) 
SELECT NULL, NULL, NULL, GETDATE(), NULL, person_id 
FROM Persons 
WHERE person_status = 'sub'; 
+0

спасибо очень много .. друг друга вещь .. если я хотите изменить значение null для параметра, принять его значение из текстового поля .. и payment_id - это первичный ключ .. как я могу увеличить от 1 до максимального значения в таблице каждой новой записи – Hamonbatra

+0

Вы должны иметь это как столбец идентификации ([см. этот ответ о том, как изменить это] (http://stackoverflow.com/a/6777807/1385896)) и не передавать его вообще, и он будет автоматически увеличиваться. –

+0

ОК, я знаю, что, но проблема с идентификационной причиной для меня .. Я хочу, чтобы числа были полными ... нет, когда я удаляю третью строку .. новая строка будет 4 .. я не хочу этого !!! – Hamonbatra

Смежные вопросы