2012-02-09 9 views
0

Я хочу сравнить две строки в таблице. Получить записи, где значение строки 2 за конкретный год меньше, чем значение строки 1 за тот же год:Сравнение двух строк в SQL

Year Line Dollar 
2001 1   $50 
2001 2   $50 

2002 1   $100 
2002 2   $100 

2003 1   $150 
2003 2   $100 

В результате

Year Line Dollar 
2003 1   $150 
2003 2   $100 

Благодаря

+1

Добро пожаловать в StackOverflow. Что вы пробовали до сих пор, что не работает для вас? –

+1

Вы говорите, что ваш результат - 2003 год 1 150 000 долларов США 2 100 долларов США. Какое поле в этой строке меньше строки 2002 года? –

+0

Не уверен, что я понимаю, но, возможно, это помогает: «SELECT a1. * FROM myTable a1 INNER JOIN myTable a2 WHERE a1.Year = a2.Year AND a1.Line Diego

ответ

2
select a.*, b.* 
from yourtable a, yourtable b 
where a.year = b.year 
and a.line = 1 
and b.line = 2 
and a.dollar > b.dollar 
+0

Спасибо за быстрый ответ. Все данные находятся в одной таблице. – Jinru

+0

Hi Jinru - в приведенном выше примере, это * та же таблица. «yourtable» имеет псевдоним с псевдонимом «a», представляющим все записи «строка 1» и псевдоним «b», представляющий все записи «строка 2». Надеюсь, это поможет! – bob

Смежные вопросы