Код:
SELECT COUNT(*) FROM (users, regusers) WHERE (old_users.email=%01 or new_users.email=%01
выдает только результат из одной таблицы...
помогите, кто сталкивался с проблемой...
Спустя 1 час, 9 минут, 38 секунд (19.08.2009 - 13:31) glock18 написал(а):
SELECT COUNT(*) FROM users WHERE <condition>
UNION
SELECT COUNT(*) FROM regusers WHERE <condition>
сложишь оба числа в php. можно еще запрос добавить, который возьмет их сумму.
UNION
SELECT COUNT(*) FROM regusers WHERE <condition>
сложишь оба числа в php. можно еще запрос добавить, который возьмет их сумму.
Спустя 1 час, 47 минут, 43 секунды (19.08.2009 - 15:19) Michael написал(а):
Цитата |
SELECT COUNT(*) FROM (users, regusers) WHERE (old_users.email=%01 or new_users.email=%01 |
Запрос не ясен. Формируется по таблицам users, regusers, а в условиях поставлены таблицы old_users, new_users. Забыты псевдонимы?
Надо:
SQL |
FROM (users as old_users, regusers as new_users) |
Спустя 9 минут, 21 секунда (19.08.2009 - 15:28) sergeiss написал(а):
Цитата (glock18 @ 19.08.2009 - 14:31) |
SELECT COUNT(*) FROM users WHERE <condition> UNION SELECT COUNT(*) FROM regusers WHERE <condition> |
А зачем 2 строки? Придется проделывать лишние телодвижения для выборки данных. Можно и в одну вывести, чтобы проще было данные забирать

Где-то примерно так:
SQL |
select (SELECT COUNT(*) FROM users WHERE <condition>), (SELECT COUNT(*) FROM regusers WHERE <condition>) |
Спустя 1 час, 26 минут, 40 секунд (19.08.2009 - 16:55) Guest написал(а):
sergeiss
SQL |
select (SELECT COUNT(*) FROM users WHERE <condition>), (SELECT COUNT(*) FROM regusers WHERE <condition>) |
возвращает число строк только из одной таблицы

Спустя 9 минут, 29 секунд (19.08.2009 - 17:05) Гость_Макс написал(а):
Всем спасибо - эксперемент показал, что работает следующая конструкция
SQL |
select (SELECT COUNT(*) FROM users WHERE <condition>) + (SELECT COUNT(*) FROM regusers WHERE <condition>) |