[英]Multi search sql query
這是一個概念性的問題。 我正在使用hsqldb
我想使用多個不同的下拉菜單創建多重搜索。 我的想法是全選並篩選查詢所需要的屬性。 但是,這不符合我的意願:
例如。:
Select distinct person, city, gender from test where person = 'John' and gender = * and city = *;
例如。:
我的表格test
有3列: Person, City, Gender
+--------+--------+--------+
| Person | City | Gender |
+--------+--------+--------+
| John | Berlin | male |
| John | London | male |
| Fred | Berlin | male |
| Sarah | Vienna | fem |
| John | London | male |
| Fred | Vienna | fem |
+--------+--------+--------+
現在,如果我選擇“ Person John”,我將具有:
+--------+--------+--------+
| Person | City | Gender |
+--------+--------+--------+
| John | Berlin | male |
| | | |
| | | |
+--------+--------+--------+
另一個示例,如果我在下拉菜單中選擇“維也納”,則會得到:
+-------------------------+
| Person City Gender |
+-------------------------+
| Sarah Vienna fem |
| Fred |
+-------------------------+
我真的很想在sql查詢中實現它,因為我認為那是最優雅的解決方案。 有什么建議怎么做? 這樣的查詢看起來如何?
感謝您的回答!
更新
好主意。
我想這樣實現:
因此,當我選擇John時,我會返回:
+--------+--------+--------+
| Person | City | Gender |
+--------+--------+--------+
| John | Berlin | male |
| John | London | male |
| John | London | male |
+--------+--------+--------+
該查詢看起來像我猜:
SELECT person, city, gender FROM test where person = 'John' and city = * and gender = *
在gender = *
出現錯誤。 填寫性別和城市的最佳方法是什么?
感謝您的回答!
您准備的sql語句應包含以下語言:
...where person like ':person' and city like ':city' and gender like ':gender';
如果您想用姓名作為某人,請傳遞您要查找的姓名以及城市和性別的“%”。 無論您要忽略哪個字段,都只需使用'%'作為字符串參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.