我有一個有點複雜的MySQL查詢我試圖執行。我有兩個參數:facility和isEnabled。設施可以具有「全部」的值或者是特定的ID。 isEnabled可以具有「ALL」的值或0/1。複雜的MySQL查詢問題
我的問題是,我需要拿出可以處理以下情形的邏輯: 1)基金= ALL和的IsEnabled = ALL 2)基金= ALL和的IsEnabled =值 3)基金= someID AND的IsEnabled = ALL 4)設施= someID AND的IsEnabled =值
的問題是,我有幾個嵌套的IF語句:
IF (Facility = 'ALL') THEN
IF (isEnabled = 'ALL') THEN
SELECT * FROM myTable
ELSE
SELECT * FROM myTable
WHERE isEnabled = value
END IF;
ELSE
IF (isEnabled = 'ALL') THEN
SELECT * FROM myTable
WHERE facility = someID
ELSE
SELECT * FROM myTable
WHERE facility = someID AND isEnabled = value
END IF;
END IF;
我想能夠將邏輯使用任一WHERE子句中結合CASE聲明或有條件的(AND/OR),但今天早上我有困難纏繞它。目前查詢未按預期執行。
任何見解都會有所幫助! 感謝
你可以只是把這種邏輯在'WHERE'條款,並使用括號...... –