Forum Webscript.Ru

Общие => Базы данных => Тема начата: Рачей от 14 Июня 2007, 11:02:34

Название: сравнение двух таблиц
Отправлено: Рачей от 14 Июня 2007, 11:02:34
помогите организовать запрос. Нужно сравнить две таблицы и найти в них разницу.. в одной может не хватать строки ... или наоборот больше строк.. как составить запрос что бы найти разницу?
Название: сравнение двух таблиц
Отправлено: Рачей от 14 Июня 2007, 12:31:49
| id | name | street | phone | chto-to |
| 1 | name 1 | street 1 | phone 1 | chto-to 1 |
| 2 | name 2 | street 2 | phone 2 | chto-to 2 |
| 3 | name 3 | street 3 | phone 3 | chto-to 3 |
| 4 | name 4 | street 4 | phone 4 | chto-to 4 |
| 5 | name 5 | street 5 | phone 5 | chto-to 5 |
| 6 | name 6 | street 6 | phone 6 | chto-to 6 |
| 7 | name 7 | street 7 | phone 7 | chto-to 7 |


| id | name | street | phone | chto-to |
| 1 | name 1 | street 1 | phone 1 | chto-to 1 |
| 2 | name 2 | street 2 | phone 2 | chto-to 2 |
| 3 | name 4 | street 4 | phone 4 | chto-to 4 |
| 4 | name 5 | street 5 | phone 535 | chto-to 5 |
| 5 | name 6 | street 6 | phone 6 | chto-to 6 |
| 6 | name 7 | street 7 | phone 7 | chto-to 7 |

вот пример таблиц.
Название: сравнение двух таблиц
Отправлено: html_coder от 14 Июня 2007, 15:18:30
Может LEFT JOIN тебе  поможет.
Название: сравнение двух таблиц
Отправлено: Рачей от 14 Июня 2007, 17:17:21
html_coder
ну да:) это все на что ума хватает?:)
Название: сравнение двух таблиц
Отправлено: andymc от 14 Июня 2007, 18:10:07
Если есть уникальное поле, то можно сравнить по нему
SELECT * FROM table 1 WHERE name NOT IN SELECT name FROM table2
Название: сравнение двух таблиц
Отправлено: Рачей от 14 Июня 2007, 18:53:22
andymc
уникальных полей в том-то и дело нет..
Название: сравнение двух таблиц
Отправлено: html_coder от 14 Июня 2007, 19:52:10
Цитировать
Рачей:
html_coder ну да это все на что ума хватает?


Мой умный друг, может таблицы настолько разные, что их вообще не имеет смысла сравнивать?

Конечная цель какая, просто найти разные строки?
Название: сравнение двух таблиц
Отправлено: Рачей от 14 Июня 2007, 20:26:46
html_coder
совершенно верно...
и в итоге нашлось два решения.. один через LEFT JOIN но там 2 запроса..

а второй при помощи union ALL group by having co=1

извиняюсь если задел, просто пришел спросить помощи.. а в ответ .. ну хорошо хоть не послали:)