У меня есть такие таблицы.Внутренние соединения с условием have не дают выход
PollingDivision
pdID pdName
1 Homagama
2 Maharagama
3 Kesbewa
PollingBooth
PBID PBName pdivID
1 HP 1
2 HD 2
PollingBoothElection
pbID elecID numofEO
1 1 3
PollingBoothElectionOfficial
pbID elecid eOfficialID
1 1 1
Я пытаюсь получить имена пула буферов из кабины для голосования, в которой выделенное должностное лицо выборов (количество столбцов eOfficialID для определенного элемента и pbID в таблице PollingBoothElectionOfficial) меньше числа официальных официальных номеров выборов в PollingBoothElection Table опросом Отдел.
Вот что я пробовал.
SELECT
PB.PBName, COUNT(PBEO.eOfficialID) AS EOCount
FROM
PollingBoothElection PBE
INNER JOIN
PollingBooth PB ON PBE.pbID = PB.PBID
INNER JOIN
PollingDivision PD ON PB.pdivID = PD.pdID
INNER JOIN
PollingBoothElectionOfficial PBEO ON PBE.elecID = PBEO.elecID
AND PBE.pbID = PBEO.pboothID
WHERE
PBE.elecID = 1
AND PD.pdName = 'Homagama'
GROUP BY
PB.PBName, PBE.numOfEO
HAVING
COUNT(PBEO.eOfficialID) < (PBE.numOfEO);
Хотя у меня есть данные в таблице, это не дает мне результата. Что я здесь делаю неправильно?
Ожидаемый результат
pbName Count
HP 1
Поскольку для опроса Booth HP число ЕО 3, но в PollingBoothElectionOfficial таблице есть только одна запись для pbid1 elecid 1, так что граф меньше, чем число ЭОС (numOfEO).
Вы можете оставить ожидаемый результат? –
Ваш запрос возвращает это. –
@wewesthemenace NO – chathwind