Also, here is a blog post I wrote a while back. It's not exactly what you
want, but pay attention to the COLLECT statement with the GROUB BY clause.
You will want to use something like this.

http://plsqlnotes.blogspot.com/search/label/powermultiset


On Sun, Jan 8, 2012 at 12:02 PM, Michael Moore <michaeljmo...@gmail.com>wrote:

> This is what you need. Take a look and if you still have questions, let me
> know.
> http://www.oracle-developer.net/display.php?id=303
>
>
> On Sun, Jan 8, 2012 at 3:10 AM, Sathya Narayanan <cred...@gmail.com>wrote:
>
>> In our application the following data model constitutes to one of the
>> most expensive queries in the database.
>> The question is this: find the item_groups that has a given property in a
>> given store
>>
>> A given item group belongs to a store if both of the following conditions
>> are satisfied
>> 1. All the items in the item group should belong to the store in
>> ITEM_LIST_IN_STORE.
>> 2. All the items in the item group should have a translation in the
>> ITEM_NAME for the country/language to which the store belongs
>>
>> I have tried several ways to answer this question and have always ended
>> up thinking there should be a better way to answer this.
>> I have found it literally impossible to do this without generating a
>> cartesian product at some point in the query.
>> I am placing this problem in this forum in the hope that some of you may
>> be able to figure out a better solution than me.
>>
>> CREATE TABLE ITEM_LIST_IN_STORE
>> (
>> ITEM_NO VARCHAR2(15),
>> STORE_NO VARCHAR2(5),
>> DELETE_DATE DATE
>> )
>> /
>>
>> CREATE TABLE ITEM_GROUPS
>> (
>> ITEM_GROUP_NO VARCHAR2(15),
>> ITEM_NO_CHILD VARCHAR2(15)
>> )
>> /
>>
>> CREATE TABLE ITEM_NAME
>> (
>> ITEM_NO VARCHAR2(15),
>> ITEM_NAME VARCHAR2(55),
>> CTY_CODE VARCHAR2(5),
>> LANG_CODE VARCHAR2(5),
>> DELETE_DATE DATE
>> )
>> /
>>
>> CREATE TABLE ITEM_PROPS
>> (
>> ITEM_NO VARCHAR2(15),
>> ITEM_NAME_OFFICIAL VARHCAR2(55),
>> PRODUCT_NAME_NO VARHCAR2(55),
>> PRODUCT_TYPE_NO VARCHAR2(55)
>> )
>> /
>>
>> CREATE TABLE STORE_CTY_LANG
>> (
>> STORE_NO VARCHAR2(5),
>> CTY_CODE VARCHAR2(5),
>> LANG_CODE VARCHAR2(5)
>> DELETE_DATE DATE
>> )
>> /
>>
>>  --
>> You received this message because you are subscribed to the Google
>> Groups "Oracle PL/SQL" group.
>> To post to this group, send email to Oracle-PLSQL@googlegroups.com
>> To unsubscribe from this group, send email to
>> oracle-plsql-unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/Oracle-PLSQL?hl=en
>>
>
>

-- 
You received this message because you are subscribed to the Google
Groups "Oracle PL/SQL" group.
To post to this group, send email to Oracle-PLSQL@googlegroups.com
To unsubscribe from this group, send email to
oracle-plsql-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/Oracle-PLSQL?hl=en

Reply via email to