Следующий код должен найти избирателей, которые не имеют почтового голосования, имеют ли телефонные номера не имеющие определенных кодов, перечислены в другой таблице, называемой намерениями для голосования с определенными обещаний или вообще не указаны в этой таблице.mySQL-запрос сложного соединения, производящего случайное и ошибочное число
FROM electors,voting_intention
WHERE
electors.telephone > 0
AND electors.postal_vote != 1
AND (
electors.mosaic NOT IN ('E1','E2','E3')
OR (
electors.ID = voting_intention.elector
AND voting_intention.pledge IN ('U','W','X')
)
OR electors.ID != voting_intention.elector
)
На данный момент он производит подсчет более 2 миллионов записей в много раз больше числа в базе данных. Очевидно, что-то не так, но я не вижу своей ошибки.
Помогло бы вам, если бы вы добавили явное СОЕДИНЕНИЕ между таблицей 'избирателей' и' vote_intention'? – andrewsi
Куда бы он пошел –
Добавьте его в инструкцию FROM - 'ИЗ избирателей INNER JOIN vote_intention ON electorsID = vote_intention.elector', я думаю – andrewsi