我有一個customers包含一列的表,email_address并且contact_number只需要其中一個。
現在我想寫一個查詢來檢查客戶是否存在。
到目前為止,這是我的查詢:
SELECT *
FROM customer c
WHERE (c.email_address = '' OR c.contact_number = '0123456789')
AND c.company_id = companyId
如果客戶記錄同時具有電子郵件地址和聯系電話,這很好用,但如果客戶只有其中一個(例如 email_address = '' 和 contact_number = '1234567890' ),它會回傳一個正確的結果,但我想如果email_addressorcontact_number為空或為空,則不檢查該列。
編輯: 這是我想要的一些示例資料和結果示例:
表:客戶
id、email_address、contact_number、company_id
1, '', '0123456789', 1
2, '[email protected]', '', 1
3, '[email protected]', '2345678901', 1
如果我向查詢提供電子郵件地址:'[email protected]' 和聯系電話:'' 它必須回傳客戶 2
如果我向查詢提供電子郵件地址:'' 和聯系電話:'2345678901' 它必須回傳客戶 3
如果我向查詢提供電子郵件地址:“[email protected]”和聯系電話:“0123456789”,它必須回傳客戶 1 和 3
如果我向查詢提供電子郵件地址:“[email protected]”和聯系電話:“2345678901123123132”,它必須回傳客戶 3
如果我向查詢提供電子郵件地址:“[email protected]”和聯系電話:“234567890112312313223”,它必須不回傳任何客戶
uj5u.com熱心網友回復:
您可能正在搜索的內容:
輸入:EMAIL和PHONE
詢問:
SELECT *
FROM customer c
WHERE
(
(c.email_address = 'EMAIL' AND 'EMAIL' <> '')
OR (c.contact_number = 'PHONE' AND 'PHONE' <> '')
)
AND c.company_id = companyId
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/427358.html
標籤:mysql phpmyadmin
上一篇:如何在SELECT陳述句中為每個WHERE子句實作分數
下一篇:MySQL查詢:嘗試加入喜歡
