2012-02-08 20 views
1

ОК, я голосовал, чтобы удалить мой предыдущий вопрос из-за глупости, с моей стороны ...MySQL Query нужно вернуть строки, а не пустые результаты

У меня есть следующий код:

SELECT qnum, id, name, total_staff AS StaffCount, COUNT(q61g) AS TotalResp, 
(COUNT(q61g)/total_staff * 100) AS Perc 
FROM tdemog_pfp 
LEFT JOIN tresults_pfp ON tdemog_pfp.id = tresults_pfp.q61g 
WHERE qnum = 'q61g' AND q60p = '1' 
GROUP BY name 
ORDER BY name 

Теперь первая часть этого запроса возвращает строки из таблицы tdemog, например, она вернет 5 строк данных. Каждая строка имеет id от 1 до 5. То, что мне нужно для запроса, - это вернуть данные из таблицу tresultsWHERE q60p = 1 для каждого из 5 строк, возвращенных в первой части, - как обычный `LEFT JOIN '.

Имеют смысл?

H.

+0

Какие результаты дает ваш текущий код, и чем вы хотите отличаться от этих результатов? –

+0

@MichaelFredrickson - Представьте, у меня две таблицы, первая таблица имеет 5 строк, и я хочу, чтобы запрос возвращал результат из второго для ** all ** пять строк, как обычный 'LEFT JOIN' **, но ** мне нужно что для запуска WHERE поле во второй таблице имеет определенное значение. На данный момент указанный выше запрос будет возвращать только строку, если есть данные - мне нужно, чтобы она возвращала все 5 строк из первой таблицы - надеюсь, что это имеет смысл? –

+0

Может ли GROUP BY в вашем запросе вызвать проблемы с ожидаемыми результатами? –

ответ

1

Попробуйте переместить часть вашего пункта WHERE в ваш JOIN условия:

SELECT ... 
FROM tdemog_pfp 
LEFT JOIN tresults_pfp ON tdemog_pfp.id = tresults_pfp.q61g AND q60p = '1' 
WHERE qnum = 'q61g' 
GROUP BY name 
ORDER BY name 

Если у вас есть поле из вашей второй таблицы в своей статье WHERE, он будет ограничивать всю запись. .. но если вы положите его в свое состояние JOIN, запись из первой таблицы должна быть возвращена, даже если запись во второй таблице не соответствует дополнительным критериям ...

Я не уверен, какой столбец принадлежит к какой таблице ... но переместите все столбцы во второй таблице в ваш JOIN.

+0

СПАСИБО! Действительно, очень ценю. –

Смежные вопросы