2013-02-25 111 views
-1

我有4個表我想加入到一個sql語句中。如何將多個表合併成一個sql語句

這些都是我的表:

  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 
+5

你的意思是什麼不起作用?你看到的記錄不是預期的結果?或者是什麼? – 2013-02-25 13:37:53

+0

你想如何加入?無論匹配如何,LEFT JOIN都包含查詢左側表格(例如交易)的所有值。 – 2013-02-25 13:38:03

+1

**「沒有工作」**沒有描述預期的行爲和收到的結果/錯誤 – Teneff 2013-02-25 13:40:05

回答

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 

它給你的東西??? ... ..對不起,但很難找到一個簡單的解決方案沒有你的桌子結構:)

Saludos。

相關問題