Mysql - у меня есть 3 уникальные таблицы, мне нужна подсказка для получения деталей с подсчетом - PullRequest
0 голосов
/ 07 июня 2019

У меня есть 3 таблицы, которые связаны между собой, и я хочу выбрать столбцы из двух таблиц и считать из таблицы 3. Если кто-нибудь знает об этом, любая подсказка будет признательна.

Ниже приведен sql, который я пробовал, но счет повторяется

SELECT distinct p.p_id, p.p_f6, p.p_l4,m.m_id, ( SELECT COUNT(*) FROM ttokens t where t.pdetail_id = p.pdetail_id ) AS token_count FROM tparking p,ttokens t LEFT join ttokens_md m ON t.trefn_id = m.trefn_id WHERE t.pdetail_id = p.pdetail_id

1 Ответ

0 голосов
/ 07 июня 2019

Вы можете попробовать использовать JOIN с подзапросом, чтобы получить свой счет вместо selcet подзапроса.

SELECT  p.p_id, p.p_f6, p.p_l4,m.m_id,t.cnt
FROM tparking p
JOIN (
    SELECT pdetail_id,COUNT(*) cnt
    FROM ttokens
    GROUP BY pdetail_id
) t ON t.pdetail_id = p.pdetail_id
LEFT join ttokens_md m ON t.trefn_id = m.trefn_id

Примечание

Я бы использовал JOIN вместо , запятой с условием where для соединения двух таблиц, , - это старый стиль.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...