如何从表中进行选择,并将值与PostgreSQL中另一个查询的结果进行分割?
假设我有这个表:如何从表中进行选择,并将值与PostgreSQL中另一个查询的结果进行分割?,sql,postgresql,postgresql-9.4,Sql,Postgresql,Postgresql 9.4,假设我有这个表: create table currency( currency char(3) PRIMARY KEY, rate decimal, buy decimal, sell decimal
create table currency(
currency char(3)
PRIMARY KEY,
rate decimal,
buy decimal,
sell decimal
);
我有以下数据:
insert into currency(currency,rate,buy,sell) values('EUR', 1, 1, 1);
insert into currency(currency,rate,buy,sell) values('USD', 0.8979, 0.901, 0.887);
insert into currency(currency,rate,buy,sell) values('GBP', 1.12404, 1.14405, 1.10543);
现在我想选择基于美元汇率的汇率,然后我想所有行的汇率、买入和卖出列除以美元汇率。i、 e
我想要像这样的东西
select currency, rate/<usd exchange rate>, buy/<usd exchange rate>, sell/<usd exchange rate> from currency;
您可以在一次查询中从表中提取两次:
SELECT c.currency, c.rate / u.rate AS rate, c.buy / u.rate AS buy, c.sell / u.rate AS sell
FROM currency c, currency u
WHERE u.currency='USD';
将在整个表和美元行之间执行交叉联接。什么是
u\u money
?..@VaoTsun抱歉修复了它。。。或使用联接语法:SELECT。。。从货币c加入货币u,货币u=美元
但是Postgres会为两者显示相同的查询计划
SELECT c.currency, c.rate / u.rate AS rate, c.buy / u.rate AS buy, c.sell / u.rate AS sell
FROM currency c, currency u
WHERE u.currency='USD';