2012-05-07 53 views
-3

我需要一些幫助來正確構建此查詢。我幾乎打出了我想要做的事情。它不是最好的例子,但它是解釋的開始。如果任何人都可以指出我會朝着正確的方向發展,那將會很棒。MySQL LEFTJOIN查詢

SELECT 
    entry_id, 
    author_id, 
    title, 
    status 
FROM exp_channel_titles 
WHERE title LIKE %Member Package% 
AND status = 'complete' 

LEFTJOIN 
SELECT 
    entry_id, 
    field_id_14, 
    field_id_15, 
    field_id_25, 
    field_id_27, 
    field_id_28, 
    field_id_29, 
    field_id_30, 
    field_id_31, 
    field_id_32, 
    field_id_33, 
    field_id_34, 
    field_id_35 
FROM exp_channel_data 
WHERE entry_id = exp_channel_titles.entry_id 

LEFTJOIN 
SELECT 
    member_id, 
    email 
FROM exp_members 
WHERE member_id = exp_channel_titles.author_id 
+2

我不* *思想實際的問題是在這裏。 – Corbin

回答

1
SELECT 
    entry_id, 
    author_id, 
    title, 
    status 
FROM exp_channel_titles 

LEFT JOIN 
(SELECT 
    entry_id, 
    field_id_14, 
    field_id_15, 
    field_id_25, 
    field_id_27, 
    field_id_28, 
    field_id_29, 
    field_id_30, 
    field_id_31, 
    field_id_32, 
    field_id_33, 
    field_id_34, 
    field_id_35 
FROM exp_channel_data 
WHERE entry_id = exp_channel_titles.entry_id) 

LEFT JOIN 
(SELECT 
    member_id, 
    email 
FROM exp_members 
WHERE member_id = exp_channel_titles.author_id) 

WHERE title LIKE %Member Package% 
AND status = 'complete' 
1

你可以LEFT JOIN的表像這樣:

SELECT 
    t.entry_id, t.author_id, t.title, t.status 
    d.field_id_14, d.field_id_15, d.field_id_25, d.field_id_27, d.field_id_28, d.field_id_29, 
    d.field_id_30, d.field_id_31, d.field_id_32, d.field_id_33, d.field_id_34, d.field_id_35, 
    m.member_id, m.email 
FROM exp_channel_titles t 
LEFT JOIN exp_channel_data d on t.entry_id = d.entry_id 
LEFT JOIN exp_members m on t.author_id = m.author_id 
WHERE t.title LIKE %Member Package% 
    AND t.status = 'complete'