2013-04-25 62 views
2

如果表中某個特定字段正在嘗試返回true或false(或yes/no等)值作爲select的一部分包含一個子串。如果另一個字段包含字符串,則在mysql子查詢中返回true或false

  1. 選擇ID,姓名,以及是否訂閱了某人。
  2. 一個名爲emailList的字段有一個逗號分隔的名稱列表,應該用來檢查請求者是否被訂閱。子字符串搜索的結果應該在另一個字段中產生真/假值。

基本的查詢應該是這樣的:

SELECT 
    id,<...>,name 
FROM 
    table 

在< ...>區,我想的東西相當於:

`emailList` contains @input ? "Yes" : "No" 

我無法弄清楚如何做到這一點來挽救我的生命。我猜測它可以通過其他方式完成,但這似乎是一個很好的學習機會。有什麼建議麼?

回答

8

使用IF()

SELECT 
    id, 
    IF(emailList LIKE '%string%', 'Yes', 'No') AS OnEmailList, 
    name 
FROM 
    table 

只是你正在尋找搜索字詞或您所選擇的服務器端編程語言的變量替換單詞「串」。

+0

呃!謝謝。我發誓,除了最有創意的編程結構之外,我一直在尋找所有東西。 – Anthony 2013-04-26 03:04:33

相關問題