2014-03-31 26 views
0

嗨,我試圖顯示出現在:table_templates_boxes但不存在於:table_templates_boxes_to_pages中的數據,但出現錯誤。 Plesrs幫我出您的SQL語法在''附近出現錯誤':table_templates_boxes_to_pages

這裏是我的代碼

SELECT 
    tb.id, 
    tb.code 
FROM 
    mxp_templates_boxes tb, 
    mxp_templates_boxes_to_pages tbtp 
WHERE templates_id = 3 
    AND tb.id NOT IN 
    (SELECT 
    templates_boxes_id 
    FROM 
    :table_templates_boxes_to_pages) 
ORDER BY tbtp.sort_order 
+1

表名不能以':'開頭。 – xdazz

+0

請發佈確切的錯誤你得到。我想這可能是這樣的:'從 :table_'刪除':' – Melon

+0

這些應該是表名,或Ruby:符號,或PHP PDO參數? –

回答

0

編輯1

我想只有mxp_templates_boxes ID中不存在的mxp_templates_boxes_to_pages而是它返回的所有的ID mxp_templates_boxes

試試這個:

SELECT tb.id, tb.code 
    FROM mxp_templates_boxes tb 
WHERE tb.templates_id = 3 
    AND tb.id NOT IN (select distinct templates_boxes_id 
         from mxp_templates_boxes_to_pages) 

樣品 @SQL Fiddle


原來的答覆

數據這是目前在table_templates_boxestable_templates_boxes_to_pages

不存在

您可以直接使用已定義的表別名。

SELECT 
    tb.id, 
    tb.code 
FROM 
    mxp_templates_boxes tb, 
    mxp_templates_boxes_to_pages tbtp 
WHERE templates_id = 3 
    AND tb.id NOT IN (tbtp.templates_boxes_id) 
ORDER BY tbtp.sort_order 
+0

感謝您的回覆,它的工作原理,但我只想要mxp_templates_boxes的id不在mxp_templates_boxes_to_pages中,而是返回mxp_templates_boxes的所有id。 – Tuhin

+0

@Tuhin:檢查我的更新答案。 –