SELECT
*
FROM
(
SELECT
qu.job_id AS `qu_job_id` , qu.engineer_id, qu.id AS `quote_id` , jb.author, jb.job_id, jb.job_title, SUBSTRING( jb.job_description, 1, 200 ) AS `short_description` , jb.image_ref, jb.timestamp
FROM
jobs AS `jb`
LEFT JOIN
quotes AS `qu`
ON
qu.job_id = jb.job_id
WHERE
jb.author = " . ID . "
GROUP BY
jb.job_id
ORDER BY
jb.timestamp DESC
) AS `jobs`
LEFT JOIN
(
SELECT
COUNT( id ) AS `total_replies` , job_id
FROM
quote_comments
WHERE
job_id = jobs.job_id
) AS `replies`
ON
replies.job_id = jobs.job_id
Мой вопрос: возможно ли (вышеприведенное не работает как есть) использовать результаты первого подзапроса для сравнения во втором? (т.е. job_id = jobs.job_id
)
Привет
EDIT
(комментируя здесь больше места)
SELECT
qu.engineer_id,
qu.id AS `quote_id`,
jb.author,
jb.job_id,
jb.job_title,
SUBSTRING( jb.job_description, 1, 200 ) AS `short_description` ,
jb.image_ref,
jb.timestamp,
count(qu.id) AS comment_count
FROM
" . JOBS . " AS `jb`
LEFT JOIN
" . QUOTES . " AS `qu`
ON
qu.job_id = jb.job_id
WHERE
jb.author = " . ID . "
GROUP BY
jb.job_id,
qu.engineer_id,
qu.id,
jb.author,
jb.job_title,
SUBSTRING( jb.job_description, 1, 200 ),
jb.image_ref,
jb.timestamp
ORDER BY
jb.timestamp DESC
Мой первоначальный вопрос был немного неверным. Я на самом деле хочу получить количество цитат за каждую работу, а не за комментарии.
Вышеприведенное предложение, показанное ниже, сработало на первый взгляд, но оно возвращает задания, которые были переданы более одной цитаты x количество раз, причем количество цитат равно 1 для каждой. Есть идеи?