Buldozer
Новичок
Запрос дублирует данные.
есть таблица
mysql> describe spider_list;
+------------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+---------------------+------+-----+---------+-------+
| link_id | int(10) unsigned | NO | PRI | | |
| status | tinyint(1) unsigned | NO | MUL | | |
| check_date | int(10) unsigned | NO | MUL | | |
+------------+---------------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
mysql> select * from spider_list where link_id = 43402105;
+----------+--------+------------+
| link_id | status | check_date |
+----------+--------+------------+
| 43402105 | 4 | 0 |
+----------+--------+------------+
1 row in set (0.00 sec)
link_id это примари кей, и естественно такая запись там только одна, но запрос
mysql> select spider_list.link_id from spider_list, complete_links_alt, orders, customer_site, payments_history where spider_list.link_id = complete_links_alt.link_id and complete_links_alt.order_id = orders.order_id and orders.customer_id = customer_site.site_id and customer_site.login = 'testuser' and spider_list.status = 4 and payments_history.link = complete_links_alt.link_id;
+----------+
| link_id |
+----------+
| 43402105 |
| 43402105 |
+----------+
2 rows in set (1.34 sec)
возвращает две записи. Разьве он не должен вывести одну?
есть таблица
mysql> describe spider_list;
+------------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+---------------------+------+-----+---------+-------+
| link_id | int(10) unsigned | NO | PRI | | |
| status | tinyint(1) unsigned | NO | MUL | | |
| check_date | int(10) unsigned | NO | MUL | | |
+------------+---------------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
mysql> select * from spider_list where link_id = 43402105;
+----------+--------+------------+
| link_id | status | check_date |
+----------+--------+------------+
| 43402105 | 4 | 0 |
+----------+--------+------------+
1 row in set (0.00 sec)
link_id это примари кей, и естественно такая запись там только одна, но запрос
mysql> select spider_list.link_id from spider_list, complete_links_alt, orders, customer_site, payments_history where spider_list.link_id = complete_links_alt.link_id and complete_links_alt.order_id = orders.order_id and orders.customer_id = customer_site.site_id and customer_site.login = 'testuser' and spider_list.status = 4 and payments_history.link = complete_links_alt.link_id;
+----------+
| link_id |
+----------+
| 43402105 |
| 43402105 |
+----------+
2 rows in set (1.34 sec)
возвращает две записи. Разьве он не должен вывести одну?