【发布时间】:2014-08-07 12:46:58
【问题描述】:
我确信一定有一种更简单的方法可以做到这一点,我只是想弄清楚我是如何设置的,这让自己陷入了进一步的混乱!
我有一个价格查询表,它有 4 个基于数量的不同价格,所以下面的表格布局显示 productID、数量和 4 个价格(价格因范围而异)
product ID quantity range 1 range 2 range 3 range 4
1 1 231 265 395 231
1 2 315 345 615 315
1 3 415 485 775 415
在用户选择了他们的产品和选择的数量的另一个表中,我在它自己的列中选择了所选范围的名称以及数量和产品 ID
product ID quantity range name price
1 2 range 1 xxx <- Needs to be 315
我正在尝试执行某种 UPDATE 语句,以便在我的订单表中检索和存储数量为 2(315 英镑)的范围 1 的价格,但不知道如何加入这两个桌子在一起?
我已经研究过使用 Range Name 字段的值作为变量,并在 SQL 语句中使用 EXEC 并将字段名传递给它,但对于我要查找的内容来说似乎太复杂了?
感谢收看!
(添加编辑)
-----------编辑--------------
这是我可以用来更新价格的 SQL,但下面 SQL 中字段“范围 1”的实际名称可以更改,具体取决于用户在选择时选择的范围...
UPDATE tblOrderline
SET price = (SELECT ***'range 1'*** FROM tblPriceLookup WHERE quoteProductID = 1 AND qty = 2)
WHERE orderID = 13 AND quoteProductID = 1
-----------编辑结束--------------
【问题讨论】:
-
你能用更有意义的方式详细说明。你想达到什么目的???
-
如果您能够规范您的数据库设计,您应该这样做。如果你不知道这意味着什么,我听说过这本书的好东西,数据库设计为凡人。
标签: sql sql-server sql-update