2016-08-19 128 views
0

我有三個表格,我想從中顯示一些信息。問題是其中一個ps_mycase_output_design與其他人沒有任何關聯。 我想要的只是能夠顯示所有人的信息。我不需要通過ID的查詢,..或WHERE子句等,這是從我開始,但我已經有了從三個表格中選擇,沒有條款或條款

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY mycase.key_product_output DESC LIMIT 10' at line 13 

下面是簡單的查詢

SELECT customer.*, mycase.*, orders.* 

FROM 
    ps_customer customer 
LEFT JOIN 
    ps_orders orders 
LEFT JOIN 
ps_mycase_output_design mycase 
ORDER BY mycase.key_product_output DESC LIMIT 10 
+1

你的左連接需要一個'on'子句來定義你加入哪一列 –

+0

你忘記了ON子句 – Priyanshu

+0

我不想使用ON ..我只想選擇它們 – Garg

回答

3

如果你不不想使用ON或WHERE子句,請嘗試以下操作:

SELECT customer.*, mycase.*, orders.* 
FROM 
    ps_customer customer,ps_orders orders,ps_mycase_output_design mycase 
ORDER BY mycase.key_product_output DESC LIMIT 10 

不確定這是您需要的邏輯。

+0

謝謝。是的,這是我需要的。 – Garg

+0

然後,將其標記爲正確的答案。 :) –

2

您可以使用joininner join沒有on條款(或表名的甚至逗號分隔的列表)來創建一個笛卡兒連接(從表格中的每一個記錄從表B中加入到每一個記錄)。我更喜歡使用join沒有on因爲連接和逗號有不同的運算符優先級:

SELECT customer.*, mycase.*, orders.* 

FROM 
    ps_customer customer 
JOIN 
    ps_orders orders 
JOIN 
ps_mycase_output_design mycase 
ORDER BY mycase.key_product_output DESC LIMIT 10 

但是,我認爲,客戶和訂單表之間應該有一個連接。既然你沒有提到有關這種連接的任何信息,我沒有包括on條款。

+0

謝謝你的答案。我已經實現了混沌軍團的答案。 – Garg