|  | 
Задавайте вопросы, мы ответим
Вы не зашли.
Привет всем! 
Помогите, пожалуйста, составить запрос. 
Замаялся совсем - никак не врублюсь... Есть таблица
id    num    pk    mt    pt
15    7    16527    93    1
16    8    16527    93    2
33    25    16531    51    1
34    26    16531    51    2
38    30    16532    44    2
43    36    16533    78    2
44    35    16533    79    1
66    57    16538    78    1
67    60    16538    78    2
217    210    16574    39    2
218    209    16574    75    1
из которой в результирующую нужно выбрать только парные строки
у которых разница pk+mt/100 не более 10 (то есть a=ABS((pk_1+mt_1/100 - pk_2+mt_2/100)*100)<=10)
и значения в поле pt не равны. То есть в результате хотелось видеть следующую таблицу
id_1    num_1    pk_1    mt_1    pt_1    id_2    num_2    pk_2    mt_2    pt_2
15    7    16527    93    1    16    8    16527    93    2
33    25    16531    51    1    34    26    16531    51    2
44    35    16533    79    1    43    36    16533    78    2
66    57    16538    78    1    67    60    16538    78    2
Записи с id 38, 217 218 в результат не попадают поскольку у 38 записи нет пары, а у записей 217 и 218 условие разности > 10.
Все поля INT, записей в исходной таблице тысяч 2 не более, так что скорость особо не важна.
Заранее спасибо.
Неактивен

select t1.id as id_1, .... from `таблица` t1 join `таблица` t2 on t1.pt_1<>t2.pt_2 where ABS((pk_1+mt_1/100 - pk_2+mt_2/100)*100)<=10;
Неактивен
select t1.id as id_1,
       t1.num as num_1,
       t1.pk as pk_1,
       t1.mt as mt_1,
       t1.pt as pt_1,
       t2.id as id_2,
       t2.num as num_2,
       t2.pk as pk_2,
       t2.mt as mt_2,
       t2.pt as pt_2
from `test_table` t1
join `test_table` t2 on t1.pt_1<>t2.pt_2
where ABS((t1.pk_1+t1.mt_1/100 - t2.pk_2+t2.mt_2/100)*100)<=10;
Выдает ошибку : Unknown column 't1.pk_1' in 'where clause'
Неактивен

join `test_table` t2 on t1.pt<>t2.pt
where ABS((t1.pk+t1.mt/100 - t2.pk+t2.mt/100)*100)<=10;
Неактивен
спасибо огромное - все получилось
Неактивен