-1

1つのSQLステートメントに結合したい4つのテーブルがあります。

これらは私のテーブルです:

  1. exp_members:card_id(pk)
  2. トランザクション:card_id(pk)、restaurant_id(pk)
  3. exp_channel_data:restaurant_id(pk)
  4. exp_channel_titles:restaurant_id(pk)

私はすでにこのようなステートメントで試しましたが、これはうまくいきませんでした

    SELECT cm.*, t.*, cd.*, ct.*
FROM exp_members as cm
Inner JOIN transactions as t on (cm.card_id = t.restaurant_id)
Inner JOIN exp_channel_titles as ct on (ct.restaurant_id = t.restaurant_id)
Inner JOIN exp_channel_data as cd on (cd.restaurant_id = ct.restaurant_id)
order by t.created DESC limit 50
4

1 に答える 1

0

あなたがこのようなものを置くならば:

SELECT t.*. cd.*, ct.*
FROM transactions as t
LEFT JOIN exp_channel_titles as ct on (t.restaurant_id = ct.restaurant_id)
LEFT JOIN exp_channel_data as cd on (cd.entry_id = ct.entry_id)
WHERE t.cardid > 0 
and t.restaurant_id > 0
and ct.status= 'open'
order by t.created DESC limit 50

それはあなたに何かを与えます???.....申し訳ありませんが、テーブル構造なしで簡単な解決策を見つけるのは難しいです:)

サルドス。

于 2013-02-25T14:01:56.600 に答える