我有3個字段:LastName,MRnumber和SSN。所有3個都是患者記錄的一部分。現在用戶可以搜索1,2或全部3個關鍵字。 MR號碼或SSN是唯一的,每個號碼將檢索一個唯一的記錄。但是這些值並不總是存在。例如,病人不想給他的SSN。請記住,會有很多記錄,這是做到這一點的最佳方式?我使用MS Access和Delphi作爲前臺(如果有問題)。SQL中的多關鍵字搜索
回答
在解釋你的問題如下:
每個記錄有
姓氏,不是唯一的,始終存在
MRNumber,獨特的,可選
SSN,獨特的,可選
你搜索一下( (姓氏和SSN)或(姓和MRNumber和SSN)
但是由於MRNumber和SSN都是唯一的最後一個搜索ch是多餘的。
你不告訴使用你正在使用什麼組件,所以只有通用答案是可能的。 假設你的Delphi應用程序做一些預處理,我會做:
If MRNumber given
search on (LastName and MRNumber)
else
If SSN given
search on (LastName and SSN)
else
message(Insufficient data)
好,所以你會檢查每個單獨的字段..我想可能有一個更簡單的SQL語句。我回到了3種可能的方式: A)3個輸入字段,每個字段都有自己的搜索按鈕。 B)組合框,稱爲搜索,並讓用戶選擇:C)3個輸入字段,我將對搜索進行分級。 謝謝我想我會使用組合框..它可能是更優雅的方式,更簡單的代碼。 Thnx再次。 – Sardukar
但我仍然好奇:說你有以下搜索選項:名字,年齡和性別作爲單獨的txt字段和單個搜索按鈕..你會如何構建查詢?用戶可以使用所有的搜索字段來檢索單個記錄或使用組合來檢索多個記錄?換句話說,您使用的搜索詞越多,搜索時就越具體。 – Sardukar
如果它變得非常複雜,我會在代碼中構建SQL語句:SELECT ... FROM ... WHERE,然後根據用戶選擇/填充的內容添加條件。然後將語句放入查詢組件並執行。 –
- 1. 多關鍵字搜索
- 2. 多個關鍵字搜索
- 3. Linq多關鍵字搜索
- 4. SSRS多關鍵字搜索
- 5. SQL Server中多個表的所有列的關鍵字搜索
- 6. 在多列中搜索關鍵字
- 7. MySQL和多關鍵字多行搜索
- 8. 關鍵字搜索
- 9. 關鍵字搜索
- 10. 關鍵字搜索
- 11. 搜索關鍵字
- 12. 跨多列的mysql關鍵字搜索
- 13. 搜索多個關鍵字的文本
- 14. 在Shiny中搜索DataTables中的「智能」搜索(搜索多個關鍵字)
- 15. 使用SQL Server關鍵字搜索
- 16. 使用sql進行關鍵字搜索
- 17. 部分關鍵字搜索(MS SQL 2005)
- 18. SQL查詢 - 多個關鍵字搜索多列
- 19. 通過mysql查詢搜索關鍵字的搜索關鍵字來計算搜索關鍵字
- 20. 搜索SP的關鍵字
- 21. 使用多個關鍵字搜索
- 22. SELECT2多個搜索關鍵字
- 23. 插入並搜索多個關鍵字
- 24. xpath搜索多個關鍵字
- 25. PHP MySqli多個關鍵字搜索
- 26. 搜索,通過使許多關鍵字
- 27. 多個條件關鍵字搜索
- 28. Java通過多個關鍵字搜索
- 29. MySQL和PHP:多關鍵字搜索
- 30. LINQ多個關鍵字搜索PagedList
謝謝你的edit..it是凌晨1點..即時通訊累。 – Sardukar
目前尚不清楚以下內容應包含哪些行爲:*'MRnumber或SSN是唯一的,它們每個都將檢索一條獨特的記錄。但是,這些值並不總是存在的。'*例如,如果用戶在搜索字段中同時輸入了MRNumber和SSN,你會在你的查詢中使用'and'ed或'or'ed嗎?您能否添加示例,說明數據庫中的各種數據組合以及輸入的搜索詞,然後顯示每種情況下的結果?最後但並非最不重要的:** [你有什麼嘗試?](http://whathaveyoutried.com)** –