PL / SQL:如何比较2组数据

时间:2014-05-06 03:04:59

标签: sql oracle

如果我在一个只有3列(ID,Name,Salary)的表中存储了2行,那么就很简单:

Row 1: 123, Sal, 1000
Row 2: 123, Sal, 1001

如何编写pl / sql程序来比较第1行数据(逐列)和第2行? 当然,在我的例子中,会有更多的列和行。我只需要能够比较2行(逐列)并验证它们具有相同的值。

3 个答案:

答案 0 :(得分:0)

对于这种一般形式的问题,我认为GROUP BY就是答案。 所以,按照你的意思:

  select ID, Name, Salary from Salaries
  group by ID, Name, Salary
  having count(*) > 1

此sql语句将输出具有相同“ID,Name,Salary”字段值的所有记录(由于'有'条件)。

答案 1 :(得分:0)

这是一个让你并排两行的开始。

select r1.id
      ,r1.name
      ,r1.salary
      ,r2.id
      ,r2.name
      ,r2.salary      
  from your_data r1
      ,your_data r2
 where r1.id = 1
   and r2.id = 2 

答案 2 :(得分:0)

你可以使用减号。如果温度不同,它将返回记录。如果它们是相同的,则不会返回

select name, salary
  from table
 where id = 1

minus

select name, salary
  from table
 where id = 2