2016-02-08 205 views
-3

我被困在這個查詢。需要一些MySQL查詢的幫助

我的問題是在語法。我似乎無法找到匹配「LIKE」子句中的記錄的正確方法,並排除不匹配「LIKE」子句的記錄。

我正在使用CASE語句,因爲我需要根據LIKE條件格式化輸出。

我使用的MYSQL代碼示例如下。

我還包括一張圖像,顯示我希望如何將輸出格式化。

所需輸出的圖像如下。

MySQL Output

SELECT DISTINCT S.SalesID, SS.Contact 
CASE CONTACT 
WHEN Contact IS LIKE '%Manuel%' 
THEN WORKS 
WHEN Contact IS NOT LIKE '%Manue%' 
THEN NO 
END AS Manuel? 
FROM Salespeople S 
LEFT JOIN Studios SS 
ON (S.SalesID = SS.SalesID) 
WHERE SS.Contact = 'Manuel Austin' Or 
SS.Contact IS NOT NULL; 
+0

投票結束TYPO以不太可能對未來讀者有用的方式解決 – Drew

回答

-1

您的查詢了很多語法問題。

您可以使用此查詢:

SELECT S.SalesID, 
CASE WHEN ss.Contact LIKE '%Manuel%' THEN 'WORKING WITH MANUEL' 
ELSE 'NOT WORKING WITH MANUEL' END AS Manuel 
FROM Salespeople S 
LEFT JOIN Studios SS 
ON (S.SalesID = SS.SalesID) 
GROUP BY S.SalesID, 
CASE WHEN ss.Contact LIKE '%Manuel%' THEN 'WORKING WITH MANUEL' 
ELSE 'NOT WORKING WITH MANUEL' END 
ORDER BY s.SalesID 

你不應該在有關曼努埃爾或where子句中的任何檢查時,該列是空的,因爲你需要所有的結果,無論他們是否有曼努埃爾作爲其聯繫。

所以你只需要左連接和用例。

+0

爲什麼不能?什麼使用「?」對查詢做什麼? –

+0

誰低估了我? – sagi

+0

噢!謝謝。我正在使用mysql。 –