2012-01-22 167 views
-1

我使用php將兩個表內連接在一起,其中一個在字段名稱中有一個空格。SQL內部連接語法錯誤

我已經嘗試添加回刻度,定期滴答,但我仍然收到錯誤,代碼將無法正常工作。

我找不出我的錯誤,請幫忙。

SELECT products.wholesalecost, vendor units.amount 
FROM `products` 
INNER JOIN `vendor units` ON products.productid=vendor units.productid 
WHERE vendor units.vorderid=".$row["vorderid"]." 
+0

的別名是什麼錯誤? – nachito

+0

你不能問關於語法的細節,並保持涉及的數據庫系統的祕密。 MySQL我從非標準反引號假設? –

回答

2

嘗試:

SELECT `products`.`wholesalecost`, `vendor units`.`amount` ... 
ON `products`.`productid` = `vendor units`.`productid` 
+1

沒有工作。這是我得到的錯誤:你的SQL語法有錯誤;檢查與您的MySQL服務器版本相對應的手冊,以便在'1產品'.AMOUNT FROM'產品'INNER JOIN'供應商單位'ON'產品'.'productid' ='ven'附近使用正確的語法。第1行 –

+1

編輯引用所有'供應商單位'的實例 – nachito

0

看來你在這裏有一個空間: 「供應商的單位」。

+0

多數民衆贊成多數民黨這是因爲我的表名稱中有一個空間 –

3

你必須使用反引號與空間的表名的每一次出現,

SELECT products.wholesalecost, `vendor units`.amount 
FROM `products` 
INNER JOIN `vendor units` ON products.productid=`vendor units`.productid 
WHERE `vendor units`.vorderid=".$row["vorderid"]." 

或使用它

SELECT products.wholesalecost, vu.amount 
FROM `products` 
INNER JOIN `vendor units` vu ON products.productid=vu.productid 
WHERE vu.vorderid=".$row["vorderid"]." 
+0

謝謝你這個工作就像一個魅力。 –

+2

這不是一種魅力,它只是正確的語法。 –