0

私は正常に動作しているこのクエリを持っています:

SELECT c.id, c.name
FROM job j
LEFT JOIN portfolio_job_category pjc ON pjc.job_id = j.id
LEFT JOIN category c ON c.id = pjc.category_id
WHERE j.end_date >= DATE( NOW( ) ) 
AND pjc.portfolio_id =3
GROUP BY c.id
ORDER BY  `c`.`id` ASC 
LIMIT 0 , 30

しかし、以下のクエリを実行すると機能せず、空の行が返されます:

SELECT c.id, c.name
FROM commstratjobs.job j
LEFT JOIN commstratjobs.portfolio_job_category pjc ON pjc.job_id = j.id
LEFT JOIN commstratjobs.category c ON c.id = pjc.category_id
WHERE j.end_date >= DATE( NOW( ) ) 
AND pjc.portfolio_id =3
GROUP BY c.id
ORDER BY c.name;
LIMIT 0 , 30

理由はありますか?

私がしたことは、テーブルの前にデータベースを追加することだけでした...

4

1 に答える 1

0

この記号でデータベースとテーブルを分離しようとしましたか: `

すなわち

commstratjobs.job

したがって、クエリは次のようになります

SELECT c.id, c.name
FROM `commstratjobs`.`job j`
LEFT JOIN `commstratjobs`.`portfolio_job_category` pjc ON pjc.job_id = j.id
LEFT JOIN `commstratjobs`.`category` c ON c.id = pjc.category_id
WHERE j.end_date >= DATE( NOW( ) ) 
AND pjc.portfolio_id =3
GROUP BY c.id
ORDER BY c.name;
LIMIT 0 , 30
于 2012-07-03T07:04:42.073 に答える