ВСТАВЬТЕ ЗНАЧЕНИЯ из другого стола и добавьте НОВЫЕ ЗНАЧЕНИЯ СЛИШКОМ в стол - PullRequest
0 голосов
/ 09 декабря 2011

Я пытаюсь вставить значения в таблицу с именем charterFlight .Я пытаюсь скопировать aircraft_id, crew_id и customer_id из другой таблицы AND и добавить / вставить остальные значения.

INSERT INTO charterflight 
    (aircraft_id, crew_id, customer_id, flight_time, flight_date,destination)
SELECT 
     aircraft_id, crew_id, customer_id --(and the remaining values here)
FROM aircraft, crew, customer

Выполнение приведенного выше кода не вызывает ошибок, однако также не вставляет никаких строк !!!!

Ответы [ 2 ]

1 голос
/ 09 декабря 2011

На основе этого комментария ...

@Ollie Error starting at line 1 in command:
INSERT INTO charterflight (aircraft_id, crew_id, customer_id, flight_time, flight_date,destination)
SELECT aircraft_id, crew_id, customer_id
FROM aircraft, crew, customer
Error at Command Line:1 Column:12 Error report: SQL Error: ORA-00947: not enough values 00947. 00000 - "not enough values" *Cause: *Action:

Вы пытаетесь вставить три значения в таблицу, содержащую 6 полей.

Количество полей в INSERT INTO table (...) mustсопоставьте поля в таблице.И тогда числовые поля в SELECT ... FROM также должны совпадать с этими полями.

Любое несоответствие вызывает ошибку, на которую вы ссылаетесь.

РЕДАКТИРОВАТЬ : ответ на ваши комментарии

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

INSERT INTO charterflight (aircraft_id, crew_id, customer_id, flight_time, flight_date, destination)
SELECT aircraft_id, crew_id, customer_id, NULL, NULL, NULL
FROM aircraft, crew, customer

Затем вы можете заменить значения NULL вручную в другой раз.

Если вам не нужны значения NULL для flight_time, flight_date, destination, вы можете просто скопировать результаты SELECT в EXCEL и написать формуляр в Excel, который сделает для вас заявление inster.

Помимо этих двух подходов, я должен признаться, что на самом деле я не уверен, чего вы хотите.

0 голосов
/ 16 июня 2015

В случае PHP мы можем сделать это так,

<?php
$var1='';   //some value
$var2='';   //some value
$var3='';   //some value

 $qry = "INSERT INTO charterflight 
    (aircraft_id, crew_id, customer_id, flight_time, flight_date,destination)
SELECT 
     aircraft_id, crew_id, customer_id ,$var1,$var2,$var3
FROM aircraft, crew, customer";
?>

Мы можем передать переменные после имен столбцов выбранной таблицы для вставки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...