我有一个mysql查询,需要通过搜索供应商名称从供应商表中返回供应商ID,但它会不断返回多个值。
CREATE DEFINER=`root`@`%` PROCEDURE `sp_insert_sup_order`(
supname varchar(50),
dat date,
total decimal(10,2)
)
BEGIN
insert into Supplier_Order
(
Supplier_ID,
SupDate,
Total,
Sup_Name
)
values
(
(select Supplier_ID from Supplier Where Supplier_ID.SupName = supname ),
dat,
total,
supname
);
这是查询。如有任何帮助,将不胜感激
答案 0 :(得分:0)
(select Supplier_ID from Supplier Where Supplier_ID.SupName = supname )
这应该是这样的:
(select Supplier_ID from Supplier Where Supplier.SupName = supname ),
为什么要在订单中存储供应商名称和ID?不应该这样做,图像你必须更改供应商的名称,你将不得不更新所有订单。只有供应商ID才能存储在订单表中!