选择一些价值观,我有我的数据库结构这样的:插入表,该表是从其他表
数据库结构::
-
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
参考在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语句。谢谢.. – 2012-04-09 10:37:33
我已更新我的代码。请看现在。 – sarwar026 2012-04-09 10:38:19
给我...你即将追加(0)行...没有数据被添加..我认为我们需要有那个VALUES部分... – 2012-04-09 10:41:49