私は、特定の部門の下でユーザーがアクセスできるすべての製品を見つけるためにSQLクエリを考え出すのに苦労しています。ユーザーと部門別にすべての製品を検索するSQLクエリ?
部門には多くの製品があります。
除算表はdivision_id
とdivision_name
です。
製品表はproduct_id
、product_name
およびdivision_id
です。
私は
user_id
、division_id
とproduct_id
のような列を持つ別のテーブルと呼ばれるUserProductsを持っています。
ユーザーに製品を割り当てる際のUI部分では、最初に部門が選択され、次に選択された部門に基づいて製品が投入されます。
製品表の製品に加えて、製品ドロップダウンには、ALLと呼ばれるもう1つのオプションがあります。
製品のALLオプションを選択すると、その部門のすべての製品がユーザーに割り当てられます。
しかし、ユーザーの製品では、すべての製品のエントリを入力しません。
user_id = 1, division_id = 1 and product_id = -1
where -1 says its ALL products under division_id = 1
また、ユーザーは複数の部門にアクセスできます。したがって、ユーザーは部門Aのすべての製品にアクセスできますが、部門Bの2つの製品のみがアクセスできます。
このスキーマでは、
EDIT 1
私は、入力として、ユーザID、プロダクトIDを持つことになりますし、私は与えられた部門の下で、特定のユーザーがアクセスできるすべての製品を取得したいと思います。
入力:user_idは、 出力division_id:user_idのすべての製品のリストをして助けてください
をdivision_id。
回答がまだありません。コメントや提案はありますか? : – ashishjmeshram
あなたはあなたが持っていて期待したい(出力する)データを使用することを検討する必要があるかもしれません。 – Arion
"部門Aのすべての製品にアクセスできますが、[部門B]それはただ一つの例(多くの中で)または明示的なビジネスルールですか? – onedaywhen