2012-07-03 38 views
0

我有這個疑問這是工作的罰款:MySQL查詢不與其它數據庫工作

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 

是有原因爲什麼?

我唯一所做的就是添加數據庫表中的前...

+0

portfolio_id的價值你限制結果是兩個查詢之間的不同,你可以檢查並澄清這不是問題 –

+0

查詢條件是不同的,他們怎麼可能是相同的? – xdazz

+0

還有一些錯誤代碼不會傷害。 – golja

回答

0

沒有你這個符號所嘗試seprate數據庫&表:`

commstratjobsjob

所以您的查詢會是這樣

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 
+0

嗨,我試過,但它不工作... –

+0

你可以顯示哪些錯誤出現? –