我有两个表格,例如units
和price
。单位表字段为unit1
,unit2
。 Price
表格字段为id
,rateper
,price
。现在我想连接这两个表,如Price
表rateper <=0
或Price table is empty
,然后返回unit1
其他rateper
。我写了下面的查询,但没有下载
select case when rateper <=0 then unit1 else rateper from units,price
正在使用postgresql
版本9.0
单位表
+------+-----+
|Unit1 |Unit2|
--------------
| 2 | 10 |
| 1 | 20 |
+------+------
价格表
+------+-------------+---------+
|id + rate per + price |
--------------------------------
|1 |0 | 100 |
|2 |1 | 200 |
|3 |2 | 300 |
--------------------------------
Result :
2
1
3
如果Price表没有行,则显示Result
2
1
答案 0 :(得分:0)
您必须指定要加入这些表的列
select
case
when p.rateper <= 0 or p.rateper is null then u.unit1
else p.rateper
end
from units as u
full outer join price as p on p.id = u.???
更新我认为你需要某种全外连接。我仍然不完全明白你想要什么,但试试这个问题:
select
coalesce(u."Unit1", p."id")
from Units as u
full outer join (select * from price where "rate per" > 0) as p on p."id" = u."Unit1";