2012-06-27 74 views
2
select m.*, c.NAME as CORP_NAME 
from MAIL_LOG as m, CORP as c 
where m.SEND_DATE >= '$term_from' and m.SEND_DATE <= '$term_end' "; 

鮮明MySQL查詢相結合

Select DISTINCT `TO_NAME_F_KANA` from MAIL_LOG group by m.SEND_DATE; 

我想從與TO_NAME_F_KANA爲基準,在第一個查詢得到的唯一值。

+0

你必須在你的第一個查詢MAIL_LOG表和CORP表之間的連接沒有限制,是故意的嗎? –

回答

1

下面的查詢應該做的伎倆

Select DISTINCT t.`TO_NAME_F_KANA` from 
    (
    select m.*, c.NAME as CORP_NAME 
    from MAIL_LOG as m, CORP as c 
     where 
      m.SEND_DATE >= '$term_from' 
        and 
      m.SEND_DATE <= '$term_end' 
    ) t 
group by t.SEND_DATE; 
+0

感謝venc,它完美的工作,你能解釋一下t,因爲t沒有AS,它是如何工作的。對不起,我是這個新手。 – MKP

+0

確定這在phpmyadmin中的sql查詢框很好,但是當我在php中添加它時,它提供了一個錯誤沒有發現DB.php(梨庫)的表錯誤DB:錯誤:這裏沒有這樣的字段是代碼$ sql =「Select DISTINCT t.'TO_NAME_F_KANA' from( )選擇m。*,c.NAME,c.ID作爲MAIL_LOG的CORP_NAME作爲m,CORP作爲c其中m.SEND_DATE> ='$ term_from'和m.SEND_DATE <='$ term_end ')t group by m.SEND_DATE「;任何幫助讚賞。 – MKP

+0

t實際上是聲明爲子查詢的別名,只是仔細觀察。 我不是那麼流利的PHP,所以我不能提供很多幫助,但這可能與使用需要在PHP字符串文字中轉義的字符有關。試着擺脫圍繞在TO_NAME_F_KANA周圍的「反引號」,他們並不是真的有必要。 –