我有以下查询,这很好。我遇到的问题是,在这两个表(以及聚合联合表)中,都有一个名为MTGUID的字段。我需要将MTGUID乘以一个数字(比方说1.35,以方便使用),并让它在MTGUID字段中返回该数字。我已经尝试了十几种方法来做到这一点,并不能得到任何东西来玩球。我可以为每个计算的价格创建一个新列,例如(BKRETAIL.MTGUID * 1.35)AS MTG1,但我们有成千上万的专门使用MTGUID的代码行。有任何想法吗?从SQL查询计算字段从多个表中选择与联盟
我正在使用Firebird SQL。
SELECT * FROM (
SELECT BKRETAIL.* FROM BKRETAIL WHERE BKRETAIL.MKEY='SOMEKEY'
UNION SELECT BKWHOLESALE.* FROM BKWHOLESALE WHERE MKEY='SOMEKEY')
ORDER BY
case STATUS
WHEN 'RT' then 1
WHEN 'WH' then 2
WHEN 'OL' then 3
WHEN 'OD' then 4
WHEN NULL then 5
else 6
end;
但问题是,有几百列,而那些可能会有改变迟早。有其他选择吗? – Cyprus106