У меня есть структура базы данных, как это ::Вставка в таблицу некоторые значения, выбранные из другой таблицы
структуры базы данных ::
ATT_table- ActID(PK), assignedtoID(FK), assignedbyID(FK), Env_ID(FK), Product_ID(FK), project_ID(FK), Status
Product_table - Product_ID(PK), Product_name
Project_Table- Project_ID(PK), Project_Name
Environment_Table- Env_ID(PK), Env_Name
Employee_Table- Employee_ID(PK), Name
Employee_Product_projectMapping_Table -Emp_ID(FK), Project_ID(FK), Product_ID(FK)
Product_EnvMapping_Table - Product_ID(FK), Env_ID(FK)
Я хочу, чтобы вставить значения в ATT_Table
. Теперь в этой таблице есть несколько столбцов, таких как assignedtoID
, assignedbyID
, envID
, ProductID
, project_ID
, которые являются FK в этой таблице, но первичный ключ в других таблицах - просто цифры).
Теперь, когда я ввод данных от пользователя Я принимаю, что в виде строки, как пользователь вводит Name
(Employee_Table
), product_Name
(Product_table
), а не ID непосредственно. Поэтому я хочу, чтобы сначала дать пользователю возможность ввести имя (из Employee
или product
или Project
или Env
), а затем значение первичного ключа (Emp_ID, product_ID, project_ID, Env_ID
) подбирают, а затем они вставляются в ATT_table
вместо assignedtoID, assignedbyID, envID, ProductID, project_ID
.
Обращаем внимание, что assignedtoID, assignedbyID
ссылаются на Emp_ID
в Employee_Table
.
Как это сделать? У меня есть что-то вроде этого, но его не работает ::
INSERT INTO ATT_TABLE(Assigned_To_ID,Assigned_By_ID,Env_ID,Product_ID,Project_ID)
VALUES (A, B, Env_Table.Env_ID, Product_Table.Product_ID, Project_Table.Project_ID)
SELECT Employee_Table.Emp_ID AS A,Employee_Table.Emp_ID AS B, Env_Table.Env_ID, Project_Table.Project_ID, Product_Table.Product_ID
FROM Employee_Table, Env_Table, Product_Table, Project_Table
WHERE Employee_Table.F_Name= "Shantanu" or Employee_Table.F_Name= "Kapil" or Env_Table.Env_Name= "SAT11A" or Product_Table.Product_Name = "ABC" or Project_Table.Project_Name = "Project1";
Он продолжает давать мне вставку с ошибкой; в конце инструкции SQL. Я предполагаю, что он подходит к концу, когда я вставляю значения. после значений, когда я вставляю; и запустите его. Это дает мне текст ошибки, найденный после; что очевидно. раньше также я получаю то же самое. Он не получает инструкцию SELECT. спасибо .. –
Я обновил свой код. посмотрите сейчас. – sarwar026
Дает мне ... Вы собираетесь добавить (0) строки ... Никаких данных не добавлено .. Я думаю, нам нужно иметь эту партию VALUES ... –