[SQL ] 關於查詢 [多重條件] 問題
資料庫名稱: postgres
資料庫版本: 1.20 beta 1
內容/問題描述:
我想要查詢一筆資料
可以任選三個條件或一個, 也可以一個條件都不選(列出全資料)
以下是我的寫法
StringBuilder sb = new StringBuilder();
sb.append("SELECT new map( 資料 FROM 表單");
if(!條件1.equals("none")){
sb.append(" WHERE 欄位1 = 條件1");
if(!條件2.equals("none")){
sb.append(" AND 欄位2 = 條件2");
if(!條件3.equals("none"))
sb.append(" AND 欄位3 = 條件3");
}
if(!條件3.equals("none"))
sb.append(" AND 欄位3 = 條件3");
}
else if(!條件2.equals("none")){
sb.append(" WHERE 欄位2 = 條件2");
if(!條件3.equals("none"))
sb.append(" AND 欄位3 = 條件3");
}
else if(!條件3.equals("none"))
sb.append(" WHERE 欄位3 = 條件3");
sb.append(" ORDER BY ?");
缺點當然就是3個條件就有7種組合
要是條件增加, 語句就會很臃腫.....
========================================================================
請問有比較靈活的寫法嗎 ?
感謝解答
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.250.144.223
※ 文章網址: http://www.ptt.cc/bbs/Database/M.1416970989.A.706.html
推
11/26 12:26, , 1F
11/26 12:26, 1F
→
11/26 13:47, , 2F
11/26 13:47, 2F
推
11/26 17:15, , 3F
11/26 17:15, 3F
→
11/28 17:06, , 4F
11/28 17:06, 4F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):