如何从一个表中连接两列

时间:2017-12-29 17:18:46

标签: sql oracle join

表名库;

id    item    price
1     book    13$
2     book    0
3     book    0
4     book    12$
5     PEN     0
6     PEN     5$
7     PEN     0

是否可以从表库中获得以下结果

id   Item    price
1    book    13$
4    book    12$
5    Pen     0
7    Pen     0

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

一种方法是使用where子句:

where (item = book and price > 0) or
      (item = pen and price = 0)

我不是百分百肯定这就是你要找的东西。

答案 1 :(得分:0)

要在问题中获得准确的结果,请对标题使用双引号(" ")。

对于id >= 5,将项目值设为为initcapped。

在条件使用单引号(' ')的情况下,显然项目列属于string类型,价格为alpha-numeric0,12$ ..等。)

select id "id", decode(sign(id-4),1,initcap(item),item) "Item", price "price"
  from library
 where (item = 'book' and price != '0') or (item = 'PEN' and price = '0')