Сравнение 2 таблиц

push

Новичок
Сравнение 2 таблиц

Есть 2 таблицы:
PHP:
mysql> desc PartNumbersWrittenOFF;
+------------+-------------+------+-----+---------+----------------+
| Field      | Type        | Null | Key | Default | Extra          |
+------------+-------------+------+-----+---------+----------------+
| id         | int(10)     | NO   | PRI | NULL    | auto_increment |
| numberwo   | varchar(50) | YES  |     | NULL    |                |
| partnumber | varchar(50) | YES  |     | NULL    |                |
| count      | tinyint(4)  | YES  |     | NULL    |                |
| indate     | varchar(50) | YES  |     | NULL    |                |
+------------+-------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)

mysql> desc PartNumberRecieve;
+------------+-------------+------+-----+---------+----------------+
| Field      | Type        | Null | Key | Default | Extra          |
+------------+-------------+------+-----+---------+----------------+
| id         | int(10)     | NO   | PRI | NULL    | auto_increment |
| numberwo   | varchar(50) | YES  |     | NULL    |                |
| partnumber | varchar(50) | YES  |     | NULL    |                |
| count      | tinyint(4)  | YES  |     | NULL    |                |
+------------+-------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)
По колличеству записей они разные, нужно сравнить по 2 полям numberwo и partnumber, и вывести только не совпавшие.

предпологал сделать так
Select * from PartNumbersWrittenOFF left join PartNumberRecieve.... но тут появился вопрос, связывание таблицы, если я их свяжу по id то потеряю много записей, если по numberwo то тоже... как же верно найти остаток? если таблицы разной длины.
 

push

Новичок
а воозможно ли сделать так: сравнить таблицы, вытащить оттуда данные где numberwo=numberwo и partnumber=partnumber записать это в темповую таблицу, а затем из первой таблицы удалить все значения которые есть в темповой странице?
 

kruglov

Новичок
сделать join и выбрать из него те, у которых !isnull(id первой) и !isnull(id второй)
 

push

Новичок
select PartNumberRecieve.numberwo,PartNumberRecieve.partnumber,PartNumberRecieve.count
from PartNumberRecieve left outer join PartNumbersWrittenOFF on PartNumberRecieve.numberwo=PartNumbersWrittenOFF.numberwo
where PartNumbersWrittenOFF.numberwo is null;
 
Сверху