Как составить запрос в MySQL?
Есть 2 таблицы. В первой инфа о клиенте, во второй список заказов.
Нужно сделать выборку всех записей из первой таблицы + добавить колонку с кол-вом заказов от этого клиента (count).
Точка схождения таблиц ido второй таблицы = id клиента в первой таблице.
Ответы (5)
RSSselect t1.*, t2.cnt
from table1 t1 LEFT outer join (select id, count(id) as cnt
from table2
group by id) t2
on t1.id = t2.id
vzk
select t1.id, t1.name, COUNT(*) AS qnt_order from
(select id,name from table1) AS t1 INNER JOIN
(select id from table2) AS t2 ON t1.id = t2.id
GROUP BY t1.id, t1.name
x-x-n-o-x-x
create table clients (id INTEGER, description VARCHAR(255), PRIMARY KEY (id));
create table orders (id INTEGER, client_id INTEGER, description VARCHAR(255), PRIMARY KEY (id), KEY by_client (client_id));
Тогда такой запрос делает то что нужно:
select clients.id, clients.description, count(orders.id) as count from clients,orders where clients.id=orders.client_id group by clients.id;
gabychev
FROM table1 AS u, table2 AS o
WHERE u.id = o.ido
GROUP BY u.id
rasavchek
richy
Вопрос закрыт