回答
我見過的最好的接口是一個本地控制,繪製了一棵樹,清楚地顯示操作的順序。我從來沒有見過這樣做的第三方控制,但我還沒有找到一個。
微軟SQL Server有這樣一個界面,我已經在SQL Server 2000中使用它,但我敢打賭,它在2005速成太這樣你就可以,如果你想看看。
假設.NET,我會用一個DataGridView去存儲每個條件,因爲它是建立分配每個ID和有一個文本框,讓你輸入特定的查詢條件。
你可以的話,一旦所有條件都寫,允許在與任何一個AND或OR時結合2,然後顯示結果查詢驗證
條件1
條件2
Condition3
Condition4
Condition5
在你的情況下,一旦你將每一個添加到你的數據集並填充DataGridView,然後你會這樣做(我想象一個帶有3個下拉框的表單,頂部和底部允許條件或「化合物」和中間下拉是和/或僅:
條件1與條件2 = 「Compound1」
條件1 AND Condition5 = 「Compound2」
Compound1 OR Compound2 = 「Compound3」
Compound3 AND Condition4 = 「Compound4」
和compound4是你的最終查詢
有意義嗎?
聽起來很有趣。我可以試試這個。 – ilitirit 2008-09-22 22:54:17
您可以檢查的MS Access是怎麼做的。我不會稱之爲直覺,但它很簡單。
這是我看的第一個地方。這對我的目的不夠直觀,但我可能會嘗試修改版本。 – ilitirit 2008-09-22 22:56:17
如果這是重要的,足以花費大量的時間,我會考慮使用維恩圖。可視化將代表結果集而不是查詢條件。因此,爲了演示AND,您將顯示兩個表示結果的圓圈,並突出顯示它們之間的重疊(交叉點)。
爲了演示OR,您將顯示兩個圓圈並突出顯示兩者的結合。
然後要顯示整個多部分查詢,您可以顯示具有聯合和交叉點的某種組合的五個圓,或者將每個圓括號合併,然後隱藏細節,將結果放入一個新的圓以結合其他元素。這裏有大量的拖放操作,並且爲了清晰起見,對小節進行了動態調整。
爲了使這個直觀和易於使用將需要相當一些工作,但對於某些應用程序,它將是一個非常強大的接口。
這個答案應該越來越愛。誠然,它沒有按要求提供示例,但它是一個非常有創意和原創的答案,可以作爲一個非常酷,突破性用戶界面的靈感。很好的答案! – 2015-12-21 15:50:10
我曾經在一個系統中工作,我們對齊了類似於下面的布爾邏輯。
右列(內部)和(外部)提供兩個級別的邏輯。
Variable Inner Outer Condition1 And Condition2 Or Condition1 And Condition5 And Condition4 Or more optimized... Condition4 And Condition1 And Condition2 Or Condition5
下面是幾年前我爲linux應用程序所做的原型屏幕截圖。您可以單擊+/-圖標將行添加到組,然後單擊「添加新...」和「刪除最後...」按鈕以刪除最底部的組。
各組的上方是一對夫婦menubuttons即有「相匹配的......或項目」(除了略有不同,第一組)「匹配和物品......」的選擇/,而「ANY以下所有「/」以下全部「。各行的感知類型的,所以如果你選擇了一個字符串變量的條件將是「IS」,「不是」,「開頭」等等。對於整數,你會得到「是」,「大於」等,以及日期「開」,「之前」,「開或之前」等。
如果您在第一組的第二和第三行之前看到「or」字樣,如果選擇了「以下任何一個」,那麼將會是「或」,以及「如果」 「被選中以加強選擇並使其更容易」閱讀「對話。
它不會讓你做任何可以想象的查詢,但我認爲它涵蓋了什麼一般用戶會想要做的約90%,在我認爲是一個相當有用的方式做到了。
screenshot of db query form http://www1.clearlight.com/~oakley/dbquery.jpg
它是一種專門針對它的域名,但f-spot有這樣做的一個很好的方式。它是照片管理軟件,如果您點擊其中一個標籤以通過標籤查找圖片,則會在搜索結果頂部顯示一個條。然後,您可以拖放標籤到那個酒吧,然後右鍵單擊選擇否定,並可以在酒吧裏組拖動標籤到and和or子句。我不知道可以擴展爲噸標籤(或非列舉條件)有多好,但它是死的簡單弄清楚並很好地互動。
退房任何對EasyQuery現場演示:
http://devtools.korzh.com/easyquery/livedemos/
這是商業軟件,但「條件」部分允許你添加一個條件或條件組,從而消除了許多複雜的來自具有多個AND和/或OR的條款。它做得非常好,易於使用。
(我不跟EasyQuery關聯,只是留下深刻的印象與他們的查詢生成器。)
- 1. 有沒有人有一個在C條件語句的例子?
- 2. 油滑:有沒有辦法用正則表達式創建一個WHERE子句?
- 3. 有沒有辦法用where子句映射一對一?
- 4. 有沒有人知道ReactiveUI的ReactiveCommand的一個好例子?
- 5. 有沒有辦法加快這個查詢沒有WHERE子句?
- 6. SQL:更新沒有WHERE子句
- 7. 在一個查詢中有兩個sql和,其中有兩個where子句
- 8. 有沒有人有一個單一的ContentPresenter UserControl的簡單例子?
- 9. SQL INSERT從where子句到另一個where子句
- 10. SQL Where子句:所有字段相同,除了一個
- 11. 另一個WHERE子句,如果沒有結果
- 12. 有沒有人有BSP的例子?
- 13. 創建一個T-sQL where子句來接受NULL值
- 14. 有沒有人有一個工作的DojoX網格控件的簡單例子?
- 15. MySQL的聯盟就同一個表有兩個WHERE子句
- 16. SSRS - 在一個SQL WHERE子句如下
- 17. 有沒有人有一個基本的例子HTML5 <canvas>動畫?
- 18. 有沒有人有一個示例WiX .wxs文件,其中創建一個新的MySql用戶,然後創建一個數據庫?
- 19. 有沒有辦法創建一個Kubernetes Secret子目錄?
- 20. 有沒有一個簡單的例子如何使用buckminster
- 21. SQL語句有多個值的WHERE子句條件
- 22. 有沒有人有一個單向多對多關係的現實世界的例子?
- 23. 多個案例where子句
- 24. 沒有人有libxpm的例子嗎?
- 25. 有人可以發佈一個使用inv_adjacency_iterator_generator創建boost inv_adjacency_iterator的例子嗎?
- 26. SQL - 有條件的WHERE子句
- 27. 有條件的where子句T-SQL
- 28. 這個WHERE子句有什麼問題?
- 29. MySQL有兩個連接和Where子句
- 30. 沒有使用ID的Where子句時沒有結果集
謝謝,我會看看。 – ilitirit 2008-09-22 22:54:54