我有这样的数据库结构::
数据库结构 ::
ATT_table- ActID(PK), assignedtoID(FK), assignedbyID(FK), Env_ID(FK), Product_ID(FK), project_ID(FK), StatusProduct_table - Product_ID(PK), Product_nameProject_Table- Project_ID(PK), Project_NameEnvironment_Table- Env_ID(PK), Env_NameEmployee_Table- Employee_ID(PK), NameEmployee_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_IDEmployee_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";