如何使查询每次返回一个特定值

时间:2019-02-16 03:09:40

标签: sql oracle

Oracle SQL Developer版本18.2.0.183,内部版本183.1748(只读访问数据库)

我正在寻找一种方法,使特定的数值显示在查询结果中,然后将该值乘以另一个列值的结果。这是到目前为止我得到的:

SELECT
DBSTAGE.AOWOD.TOQUANTITY "Quantity", 
DBSTAGE.OAWOD.TOQUANTITY ?????? "Price", 
DBSTAGE.OAWOD.TOQUANTITY * ?????? "Amount", 
DBSTAGE.OAWOM.ID "ID Number" 
FROM 
DBSTAGE.OAWOD, 
DBSTAGE.OAWOM
WHERE
DBSTAGE.AOWOM.WONUM = DBSTAGE.OAWOD.WONUM
AND DBSTAGE.AOWOM.STID = DBSTAGE.AOWOD.STID

此查询输出将有4列(数量,价格,数量和ID号)。 “数量”数据格式为NUMBER(5),始终为1到9之间的数值。“价格”数据格式为NUMBER(5),始终为数值,这是我需要帮助的地方。我需要它始终将价格以相同的数字格式200放在我的查询中。您可能会猜到我下一个寻求帮助的内容是什么。 “金额”数据格式为NUMBER(5),并且始终是“数量”乘以“价格”的数值。

DBSTAGE是模式 桌子是AOWOD&AOWOM TOQUANTITY&ID是表格中的列 数量,价格和金额是查询中的新列

这可能吗?

在此先感谢您的帮助。

这就是最终结果应该是什么样子 enter image description here

1 个答案:

答案 0 :(得分:0)

一些数据和预期结果将对您有所帮助。但是,我相信您的问题的答案就是这样。请注意,您使用了3次“数量”列,这对我来说似乎很奇怪。我认为您的意思是将其他列名称放在此处,但我不确定。另外,我为价格列创建了一个名称,您应该使用正确的名称替换该名称。用硬编码代替“ 200”对我来说似乎是一个可怕的主意。

SELECT dbstage.aowod.toquantity 
       "Quantity", 
       200 
       "Price", 
       round(dbstage.oawod.toquantity * 200, -1) 
       "Amount", 
       dbstage.oawom.id 
       "ID Number" 
FROM   dbstage.oawod, 
       dbstage.oawom 
WHERE  dbstage.aowom.wonum = dbstage.oawod.wonum 
       AND dbstage.aowom.stid = dbstage.aowod.stid