【问题标题】:Insert id retrieving data from different tables in SQL在 SQL 中插入 id 从不同表中检索数据
【发布时间】:2017-07-09 22:47:32
【问题描述】:

我有一个包含客户的表 A 和一个包含产品的表 P。

我还有一个表 C,代表客户购买的产品。

表格字段如下:

A(客户)

user_id
Name
Surname

P(产品)

product_id
price
product name

C(购买的产品)

id
product_id
user_id
quantity 
date

C 是 A 和 P 之间的多对多链接。

假设今天一位名叫“Bob Wright”的客户购买了一款名为“Beautiful_magazine”的产品。假设客户和产品都已经在数据库中。

如何在 C 表中创建条目?

我知道我应该使用 insert into select 语句,但我面临着困难,因为我应该检索用户 id 形式 A 和产品 id 形式 P,然后将它们与函数 NOW 一起放入 C 中的新行() 和一个代表价格的数值。 我不能这样做,因为我是新手。

有什么提示吗?

编辑 我想手动制作,使用 INSERT 语句而不依赖软件。

假设:

user_id: 890 姓名:鲍勃 姓氏:赖特

product_id:4897 价格:5.90 product_name: Beautiful_magazine

我需要在 C 表中创建一个新行,如下所示:

id(自动增量) 产品编号:4897 用户 ID:890 数量:1 日期:'2017-2-20'

显然,P 和 A 中的 product_id 和 user_id 应该使用 where 语句通过 select 语句检索。

【问题讨论】:

  • 标记您正在使用的 dbms。添加示例表数据和预期结果 - 以及格式化文本。同时向我们展示您当前的查询尝试。
  • I should retrieve the user id form A and the product id form P - 通常它在创建“购买”条目的代码中可用...所以您需要向我们展示围绕它的代码...

标签: sql insert


【解决方案1】:

如果您从应用程序传入数据,请使用 procedure(假设 id 自动递增)

CREATE PROCEDURE `AddSale` (IN ProdID INT, IN UserID INT, IN Qty INT)
BEGIN
  insert into TableC (Product_ID, User_ID, Quantity, Date)
  values (ProdID, UserID, Qty, Now());

END

在您的应用程序中,调用过程并传入参数

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-14
    • 2013-05-21
    • 2013-04-24
    • 1970-01-01
    • 1970-01-01
    • 2018-06-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多