У меня есть четыре таблицы (ткани, оговорки и члены ткани, узлы).MySQL Количество связанных полей в таблице из двух других таблиц
Каждый «узел» может иметь ноль более «составных членов» (связанных с ним). Каждая «ткань» может иметь ноль или более «составных членов» (связанных с ней). Узел может иметь «резервирование» на нем, связанное с ним одним «узлом».
Таким образом, вы можете видеть ссылки между этими вещами, когда:
fabricmember.ipaddr = reservation.ipaddr
и
fabricmember.fabric = fabric.fabricname
(Вы можете сделать все это без фактического ссылаясь на «узел»).
Я хочу запустить один запрос, который может показать мне для каждой ТКАНИ, сколько (суммы) БРОНИРОВАНИЯ связаны с ней и сколько (sum) fabricmembers оно имеет. Опять же, в одном запросе
Я использовал следующий запрос:
select
fabricmembers.fabric,
count(reservations.ipaddr) as Memebers,
count(nodes.ipaddr) as Reservations
from fabricmembers
LEFT JOIN (reservations,nodes)
ON ((reservations.ipaddr = fabricmembers.ipaddr) and (nodes.ipaddr = fabricmembers.ipaddr))
GROUP BY (fabricmembers.fabric);
И это почти работ, однако, если ткань имеет ноль членов, или она имеет членов, но те, члены имеют резервирование ZERO, ткань просто не отображается в запросе.
следующих работ, чтобы показать мне, сколько членов ткань имеет, даже если это число равно нулю:
select fabricname,count(fabricmembers.ipaddr)
from fabrics
LEFT JOIN (fabricmembers)
ON (fabrics.fabricname = fabricmembers.fabric)
GROUP BY (fabrics.fabricname);
однако, я не могу понять, как получить запрос также сказать мне номер члены.
Есть ли в этом смысл? Любая помощь будет оценена!
Я полностью понимаю, что вы говорите. Я знал это, я просто не знал, как с этим бороться. Я нашел способ решить его, но ваш выглядит намного элегантнее. Я попробую это позже сегодня вечером. Благодаря! – Brad