powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Проблема с where в сложном запросе, HELP
4 сообщений из 4, страница 1 из 1
Проблема с where в сложном запросе, HELP
    #33376360
_yura_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте,

есть 2 таблицы
Member
Payment

для записи в Member может быть 0 или более записей в Payment
связка по полю MemberID

мне надо вывести только тех у которых например 1 записей в Payment

не работает конструкция

SELECT DISTINCT m.MemberID, count(p.PaymentID) FROM Member as m LEFT JOIN Payment as p ON m.MemberID=p.MemberID where count(p.PaymentID)=1 GROUP BY m.MemberID

ругается - Invalid use of group function

Left JOIN нужен.

а так тоже не работает
SELECT DISTINCT m.MemberID, count(p.PaymentID) as cnt FROM Member as m LEFT JOIN Payment as p ON m.MemberID=p.MemberID where cnt=1 GROUP BY m.MemberID

грит - Unknown column 'cnt' in 'where clause'


Подскажите в чем проблема?
...
Рейтинг: 0 / 0
Проблема с where в сложном запросе, HELP
    #33376758
Village
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй для начала без as' оф
...
Рейтинг: 0 / 0
Проблема с where в сложном запросе, HELP
    #33376953
RFT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_yura_SELECT DISTINCT m.MemberID, count(p.PaymentID) as cnt FROM Member as m LEFT JOIN Payment as p ON m.MemberID=p.MemberID where cnt=1 GROUP BY m.MemberID

грит - Unknown column 'cnt' in 'where clause'

Попробуй так:
Код: plaintext
1.
2.
3.
SELECT DISTINCT m.MemberID, count(p.PaymentID) as cnt 
FROM Member as m LEFT JOIN Payment as p ON m.MemberID=p.MemberID 
GROUP BY m.MemberID 
HAVING cnt= 1 
...
Рейтинг: 0 / 0
Проблема с where в сложном запросе, HELP
    #33377539
_yura_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RFT _yura_SELECT DISTINCT m.MemberID, count(p.PaymentID) as cnt FROM Member as m LEFT JOIN Payment as p ON m.MemberID=p.MemberID where cnt=1 GROUP BY m.MemberID

грит - Unknown column 'cnt' in 'where clause'

Попробуй так:
Код: plaintext
1.
2.
3.
SELECT DISTINCT m.MemberID, count(p.PaymentID) as cnt 
FROM Member as m LEFT JOIN Payment as p ON m.MemberID=p.MemberID 
GROUP BY m.MemberID 
HAVING cnt= 1 


Да, это то что надо!!!

Я как-то и забыл про HAVING.

Огромное спасибо!
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Проблема с where в сложном запросе, HELP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]