2016-08-19 83 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