SQL如何从多个表中插入和选择数据到一个表中并使用不同的colomns?

时间:2014-11-04 02:59:12

标签: php mysql sql-server

我正在开展一个学校项目,我有以下表格:

表1

projectcode

projectname

表2

paymentcode

描述

表3

projectcode

paymentcode

日期

现在我已经输入了一个表格:项目名称,描述价格和日期。 projectname和discription也是与数据库链接的dropdownmenus,包含exisitng数据。现在我想知道的是如何用这四个输入填充表3。当然价格和日期很容易,因为这只是INSERT的问题,但我的问题是:如何只通过选择项目名称就可以将项目代码插入到表3中?它的描述也一样。

示例:我从表单中的projectname下拉菜单中选择projectname1并点击提交。然后查看table3我应该看到projectname1的项目代码。 长话短说:  即时寻找一种方法,在这种情况下,项目名和项目代码之间的两列之间建立关系。

我希望有人能帮助我。提前谢谢。

1 个答案:

答案 0 :(得分:0)

我不了解你。
在下拉列表中,应该有一个键值对,其中key = Id(ProjectCode),value = Name(ProjectName)。

您的查询应如下所示:

INSERT INTO Table3 (ProjectCode, PaymentCode, Price, Date)
(
    SELECT ProjectCode, NULL, @PriceFromYourInput, @DateFromYourInput
    FROM Table1 WHERE ProjectName = @ProjectNameFromYourDropdown
)


你有Table1和Table2之间的映射吗?
否则,您需要为某个项目X(Table1.ProjectCode)指定它需要多少费用(Table2.PaymentCode)。如果要将映射放在Table3中,则必须从下拉列表中输入PaymentCode
您的查询应如下所示:

INSERT INTO Table3 (ProjectCode, PaymentCode, Price, Date)<br />
(
    SELECT ProjectCode, PaymentCode, @PriceFromYourInput, @DateFromYourInput
    FROM
    Table1 WHERE ProjectName = @ProjectNameFromYourDropdown
    OUTER JOIN
    Table2 WHERE Description = @PaymentNameFromYourDropdown
)