【问题标题】:OleDb SQL Insert StatementOleDb SQL 插入语句
【发布时间】:2011-02-12 11:15:14
【问题描述】:

我的账单表有项目、价格和数量列,我的以下代码正在从另一个表(产品)中获取项目和价格,但是我还想为数量插入另一个项目。我怎样才能在这个声明中结合它?数量 = 1

INSERT INTO Bill (Item, Price) SELECT Product, Price FROM Products WHERE Product = 'Soft Drink'";

【问题讨论】:

  • 您正在制造混乱,我认为您必须以正确的方式发布您的表架构和查询以帮助您。

标签: c# sql database ms-access


【解决方案1】:

您可以在主选择语句中插入子查询:

INSERT INTO Bill (Item, Price)
SELECT Produce, Price, (Select Quantity FROM SomewhereElse) 
WHERE Products = 'Soft Drink'

或者你可以使用一个变量:

declare @Quantity decimal(18,2)
select @Quantity = Quantity from SomewhereElse

INSERT INTO Bill (Item, Price)
SELECT Produce, Price, @Quantity WHERE Products = 'Soft Drink'

【讨论】:

  • 标签sql 是通用的。特别的味道是ms-access,所以你的答案的第二部分不起作用。
【解决方案2】:

我用下面的语句解决了这个问题:

"INSERT INTO Bill (Item, Price, Quantity) SELECT Product, Price, '1' as Quantity FROM Products WHERE Product = 'Soft Drink'";

【讨论】:

  • 您将数量作为文本(字符串)插入它应该是数字,至少我希望表格中的字段(列)数量是数字所以:1 as Quantity,即没有引号。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-04-03
  • 1970-01-01
  • 1970-01-01
  • 2023-03-17
  • 2012-01-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多