2017-01-20 20 views
0

我有一個顯示sqlite數據庫中的條目的網頁。爲了使其更具可讀性,我添加了一項功能,允許用戶使用group_concat和GROUP BY功能將條目組合在一起。引用SQL查詢的結果

在每個條目都有鏈接之前,您可以單擊以獲取該特定條目的所有詳細信息。該鏈接將包含數據庫中條目的ID。不過,現在很多條目可以組合在一起,但我面臨的是獲得鏈接到這組條目的問題。一種方法是簡單地包含與用戶選擇的特定分組匹配的所有條目的ID,但是由於每個組可能包含數百個條目,因此該URL會變得很長。

我認爲這是很多人之前面臨的問題,那麼是否有一種很好的方法來解決在表中引用多行而不需要所有單個ID的問題?

回答

1

你可以拆分到這個部分:使用GROUP_BY條款

  • 集團上市;
  • 單組列表條目使用從先前視圖傳遞的條件過濾;
  • 單個條目視圖,如果需要。

例如,我們與屬性idfirst_namelast_namegradestudents關係。

對於第一個視圖,您傳遞的group_by參數爲group_by = grade | first_name | last_name。 對於第二種視圖,您要傳遞以前分組頁面中的參數attribute,並且對value感興趣。因此,您的查詢將如下所示:SELECT * FROM students WHERE attribute=value

對於更復雜的分組,您通常會將條件保存在一些臨時存儲中並傳遞條件標識而不是條件本身。