2013-01-04 47 views
0

所以,我有這個疑問就在這裏:多留在查詢連接

$query1 = 'SELECT users.first_name,users.last_name,users.phone, matching.date, matching.points, matching.time, matching.epos_id,rbpos_epos.epos_id,rbpos_epos.location 
FROM users LEFT JOIN matching WHERE users.user_id="'.$id_user.'" 
AND users.user_id=matching.user_id 
LEFT JOIN rbpos_epos WHERE rbpos_epos.epos_id=matching.epos_id'; 

這是給我的錯誤,我嘗試在最後一行做:

LEFT JOIN rbpos_epos WHERE rbpos_epos.epos_id=matching.epos_id'; 

是獲取該特定epos_id的位置。

這意味着,在匹配表,我有一個epos_id柱,並在rbpos_epos i列具有旁有一個位置字段的字段epos_id ..我需要得到相應的位置爲每個epos_id ..

我在做什麼錯? 謝謝..

這一個工程

$query1 = 'SELECT users.first_name,users.last_name,users.phone, matching.date, matching.points, matching.time,matching.location 
FROM users ,matching WHERE users.user_id="'.$id_user.'" 
AND users.user_id=matching.user_id'; 

我需要從rbpos_epos表中的位置。這兩個表rbpos_epos和匹配既有epos_id場

所以,我需要的是找到基礎上,epos_id我有匹配rbpos_epos位置..

回答

3

試試這個::

SELECT users.first_name,users.last_name,users.phone, matching.date, matching.points, matching.time, matching.epos_id,rbpos_epos.epos_id,rbpos_epos.location 
FROM users 
INNER JOIN matching ON users.user_id=matching.user_id 
INNER JOIN rbpos_epos ON rbpos_epos.epos_id=matching.epos_id 
WHERE users.user_id="'.$id_user.'" 
+0

這一個給我這麼多行..和空的.. –

+0

看看語法錯誤被刪除,現在所需的輸出你想要的,是一個不同的問題,雖然.. 那麼究竟是什麼你想要返回? –

+0

是的,你是對的.. 所以我需要的是,我有用戶表,其中有一個user_id,我需要從匹配的表中獲得這些字段對應於此用戶。 我正在更新我的問題,以便對我有用 –

0

使用ON,而不是在你的LEFT JOINWHERE

$query1 = 'SELECT users.first_name,users.last_name,users.phone, matching.date, matching.points, matching.time, matching.epos_id,rbpos_epos.epos_id,rbpos_epos.location 
FROM users LEFT JOIN matching ON users.user_id="'.$id_user.'" 
AND users.user_id=matching.user_id 
LEFT JOIN rbpos_epos ON rbpos_epos.epos_id=matching.epos_id'; 

並把任何WHERE條款的之後s