Правильный sql-запрос

Как правильно создать такой запрос: выделить все записи из таблицы tc, в которых в таблице tc2 значение chi больше чем значение chi в таблице tc на 80? Как-то так выглядет: (tc2.chi-tc.chi)>=80. Только вот как в 1 запрос сформировать не знаю( Подскажите пож-та. Вот, у меня так получилось, но не работает:

SELECT * FROM tc a LEFT JOIN tc2 b ON (b.chi-a.chi)>=80

Работает, но вытаскивает и с tc и с tc2 и у меня получается 2 одинаковых элемента в массиве, как исключить дублирование, т.е. чтобы значения только с одной таблицы тащил? И ещё если будет 3млн записей, то запрос будет выполняться за сколько примерно?

1 ответ

Можно как-то так:

select *
from tc
where
  exists (
    select 1
    from tc2
    where
      tc2.id = tc.id and
      tc2.chi >= tc.chi + 80
  )

P.S: Не очень ясно, что вы хотите получить...

licensed under cc by-sa 3.0 with attribution.