2016-08-19 8 views
0

私はいくつかの情報を表示したい3つのテーブルを持っています。問題は、そのうちの1つであるps_mycase_output_designが他のものと何かで接続していないことです。 私が望むのは、すべての情報を表示できることだけです。私はIDのことで照会する必要がある..またはWHERE句などこれは私が始めたところからですが、私はここでwhereまたはon節のない3つのテーブルから選択

#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

あなたの左は、私はちょうどまあ彼らに –

+0

に参加する列に定義し 'on'の句を必要と合流するが、JOINをどのようにではありません作業。例データと予想される出力を追加して、あなたが何であるかを確認してください。 – 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 

これは論理的に必要なものかわかりません。あなたはデカルトを作成するためにon句(あるいはテーブル名のカンマ区切りリスト)なしjoinまたはinner joinを使用することができます

+0

ありがとうございます。はい、これは私が必要なものです。 – Garg

+0

これを正しい答えとしてマークしてください。 :) –

2

は、(テーブルAからのすべてのレコードをテーブルBからすべてのレコードに連結されている)に参加します。

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なしjoinを使用することを好みます。このような接続について何も指示していないので、私はon句を含めませんでした。

+0

答えに感謝します。私はすでにChaos Legionの答えを実装しました。 – Garg

関連する問題