0
我在表中有兩列,分別叫做saleprice
和regularprice
。此表包含基於拍賣的網站的列表記錄。如果用戶決定他們可以輸入低於regularprice
的saleprice
,或者他們可以簡單地輸入regularprice
並且空出saleprice
。如果一個不是空的其他字段排序2字段
我建立了一個select
,允許用戶根據價格查看記錄從低到高或從高到低。問題是如果有一個regularprice
那麼saleprice
字段將是空的。如果有saleprice
那麼regularprice
和saleprice
字段將包含一個值,當然saleprice
將會更低。
我想根據用戶選擇的內容返回記錄,但我不能讓我的聲明返回正確搜索這兩列的記錄。
基本上我需要排序,如果saleprice
不爲空,然後使用regularprice
否則只是使用regularprice
這裏是我的例子,我想出了迄今爲止
低到高
SELECT * FROM market_posts
WHERE live = 1 AND category = '1'
ORDER BY IF(saleprice != '',saleprice,regularprice) ASC
從高到低
SELECT * FROM market_posts
WHERE live = 1 AND category = '1'
ORDER BY IF(saleprice != '',saleprice,regularprice) DESC
'IF(saleprice IS NOT NULL,saleprice,regularprice)'? –
取決於「用戶選擇的內容」,可以通過幾種不同的方法完成此操作您可以更清楚地瞭解用戶選擇的內容或這些選項。其他方面,你會在這裏得到的答案將是一個最好的猜測 – apesa