我在mysql查询中使用FIND_IN_SET 此查询将提供电子邮件ID位于from_email或to_email的输出。 这个查询运行正常。 但问题是我无法检测到最终在to_email或from_email中找到它。我希望它最终只给我这个电子邮件的字段。 以下是我的电子邮件ID
SELECT mail_id, from_firstname, from_lastname, from_email, to_firstname, to_lastname, to_email
FROM support_mail sm WHERE
(
( FIND_IN_SET ('".$email_id."', sm.to_email) ) AND ( (sm.to_firstname <> '') AND (sm.to_firstname <> 'None') )
OR
( FIND_IN_SET ('".$email_id."', sm.from_email) ) AND ( (sm.from_firstname <> '') AND (sm.from_firstname <> 'None') )
)
答案 0 :(得分:0)
尝试使用以下内容,它可能会解决您的问题:
SELECT mail_id, from_firstname, from_lastname, from_email, to_firstname, to_lastname, to_email
(IF( FIND_IN_SET ('".$email_id."', sm.to_email) ) AND ( (sm.to_firstname <> '') AND (sm.to_firstname <> 'None') ),"yes","no") AS MailTo,
(IF(FIND_IN_SET ('".$email_id."', sm.from_email) ) AND ( (sm.from_firstname <> '') AND (sm.from_firstname <> 'None')),"yes","no") AS MailFrom
FROM support_mail sm WHERE
(
OR
( FIND_IN_SET ('".$email_id."', sm.to_email) ) AND ( (sm.to_firstname <> '') AND (sm.to_firstname <> 'None') )
OR
( FIND_IN_SET ('".$email_id."', sm.from_email) ) AND ( (sm.from_firstname <> '') AND (sm.from_firstname <> 'None') )
)