LINUX.ORG.RU

История изменений

Исправление crutch_master, (текущая версия) :

и tab2 такая же.

Не нужно и нет смысла делать таблицы с одинаковой структурой. Достаточно поля-признака подзапросов или вьюх.

Я правильно запрос составляю?

С твоей структурой:

    SELECT 
		tab1.id AS id1,
		tab2.id AS id2,
		tab1.sum AS sum,
		tab1.date AS date
	FROM 
		tab1, tab2 
--tab1, tab2 даст декартово произведение, т.е. к каждой записи tab1 прицепит все записи из tab2
	WHERE 
--дальше ничего дополнительно ограничивать не надо, просто реализуешь своё условие. Естественно соответствий может быть от нуля до размера tab2 на каждую запись.
     		abs(tab1.sum - tab2.sum) < 5000 
		AND
		abs(tab1.date - tab2.date) <= 7

А, нет, походу, я неправильно написал

Без разницы. Результат abs не будет меньше нуля. Свяжутся все записи у которых разница суммы меньше 5к и разница в дате меньше 8 дней.

Исходная версия crutch_master, :

и tab2 такая же.

Не нужно, достаточно поля-признака.

Я правильно запрос составляю?

    SELECT 
		tab1.id AS id1,
		tab2.id AS id2,
		tab1.sum AS sum,
		tab1.date AS date
	FROM 
		tab1, tab2 
--tab1, tab2 даст декартово произведение, т.е. к каждой записи tab1 прицепит все записи из tab2
	WHERE 
--дальше ничего дополнительно ограничивать не надо, просто реализуешь своё условие. Естественно соответствий может быть от нуля до размера tab2 на каждую запись.
     		abs(tab1.sum - tab2.sum) < 5000 
		AND
		abs(tab1.date - tab2.date) <= 7

А, нет, походу, я неправильно написал

Без разницы. Результат abs не будет меньше нуля. Свяжутся все записи у которых разница суммы меньше 5к и разница в дате меньше 8 дней.