User 13204940 Ответов: 2

Итеративный запрос, вызывающий ошибку mysql


Привет
У меня есть два стола, клиенты и номера.

numbers содержит поле "клиент", которое соответствует customers.id; клиент, которому принадлежит номер.

Я хотел бы вернуть список клиентов, у которых есть хотя бы один номер и сколько номеров у них есть.

Я попробовал следующий запрос, но он выдает ошибку:

select c.name as "Customer", count(*) as "Numbers" from customers c, numbers n where n.customer=c.id and (select count(*) from numbers where customer=c.id) > 0


Что я уже пробовал:

---------------------
В вопросе
---------------------

2 Ответов

Рейтинг:
20

Santosh kumar Pithani

SELECT MAX(c.name) AS "Customer",COUNT(n.customer) as "Numbers" 
   FROM 
  customers c INNER JOIN numbers n 
     on(n.customer=c.id) 
   GROUP BY c.id
     HAVING count(n.customer)>0
---------------------------------------
SELECT c.name  AS "Customer",Numbers 
   FROM (SELECT ID,Name from customers)AS c
   INNER JOIN (
  SELECT customer,Counr(1) AS "Numbers" from numbers GROUP BY customer)n 
     ON(n.customer=c.id) 
         WHERE Numbers<>0 


[no name]

Отлично, это работает! Спасибо с:

Santosh kumar Pithani

Добро Пожаловать Антирикс