我正尝试在C#asp.net的sql数据库中将一个购物篮写入订单+订单行。 订单行将包含购物篮中每个商品的订单编号,总价格,生产量,数量等。订单本身将包含订单号作为主键,并且将通过它连接到不同的行。 昨天一切正常,但现在,因为我试图在插入语句中使用SELECT命令来让事情更动态我得到上述语法错误。INSERT INTO ...在连接运算符中选择语法错误
有谁知道什么地方错了这种说法:
INSERT INTO [order]
(klant_id,totaalprijs,btw,subtotaal,verzendkosten)
SELECT klant.id
, SUM(orderregel.totaalprijs)
, SUM(orderregel.btw)
, SUM(orderregel.totaalprijs) - SUM(orderregel.btw)
, 7.50
FROM orderregel
INNER JOIN
klant
ON [order].klant_id = klant.id
WHERE klant.username = 'jerry'
GROUP BY
id;
在“命令”表中的订单号码是自动编号,在asp代码隐藏有一个针对每个处理线正在为每一个产品编写,在这个循环之外有一个索引设置在0之上,每增加1个索引就会增加一个索引。订单的执行查询仅在第一个循环的开始时执行一次,并且在MAX(ordernumber)与ordernumber之后添加行。
我希望我已经提供了足够的信息,有人能够帮助我。 在此先感谢!
编辑: 感谢大家,使用此查询做到了!
INSERT INTO [指令] (klant_id,totaalprijs,顺便说一句,subtotaal,verzendkosten)选择(SELECT klant.id FROM klant WHERE klant.username = '杰里'),
SUM(orderregel.totaalprijs), SUM(orderregel.btw),
SUM(orderregel.totaalprijs) - SUM(orderregel.btw),7.50 FROM
orderregel;
编辑您的查询将无法工作。尝试插入两个订单。然后检查您的第二笔订单的总价是否正确。 – Andomar
嗯是的,我注意到了这一点,你在这里看到的位置吗?我试着独自现在做,但成天和编程布希是在下班后回家不是我的因子评分过程太好;) – user1477356
你必须弄清楚如何插入订单和订单行之间的关系。我的答案中有一个可能的解决方案。我睡了一夜就可以了:) – Andomar