2017-01-20 9 views
0

私はsqliteデータベースのエントリを表示するWebページを持っています。より読みやすくするために、私はgroup_concatとGROUP BY機能を使ってエントリをまとめてグループ化する機能を追加しました。SQLクエリの結果を参照する

各エントリの前にクリックすると、その特定のエントリのすべての詳細を取得できます。このリンクには、データベース内のエントリのIDが含まれます。しかし、今では多くのエントリをグループ化することができます。私は、このエントリのグループへのリンクを取得するという問題に直面しています。 1つの方法は、ユーザーが選択した特定のグループに一致するエントリのすべてのIDを単純に含めることですが、各グループには数百のエントリが含まれる可能性があるため、このURLは非常に長くなります。

これは多くの人が以前に直面していた問題だと思いますが、個々のIDをすべて必要とせずにテーブル内の多くの行を参照する問題を解決する良い方法がありますか?

答えて

1

あなたは部品にこれを分割することができます:GROUP_BY句を使用してリスト

  • 基;
  • 前のビューから渡された条件を使用してフィルタリングされた単一のグループのリストエントリ。
  • 必要に応じて単一エントリビュー。

は例えば、我々は属性idfirst_namelast_namegradestudents関係を持っています。

最初のビューでは、group_by = grade | first_name | last_nameというgroup_byパラメータを渡しています。 2番目のビューでは、以前のグループ化ページのパラメータattributeを渡しており、興味がありますvalueです。したがって、クエリは次のようになります:SELECT * FROM students WHERE attribute=value

より複雑なグループ化では、通常、条件を一時記憶域に保存し、条件自体の代わりに条件IDを渡します。

関連する問題