Home All Groups Group Topic Archive Search About

How to filter a dataset using relationships like a sqlcommand

Author
19 Apr 2006 12:17 AM
Alvaro E. Gonzalez
Hi,

I have a dataset with many ralated datatables, i need execute filter
that gives back datarows to me that gives back to me if outside the
following SQL command.

SELECT  distinct   GE_SERVICE_TYPE.SERVICE_TYPE_ID,
GE_SERVICE_TYPE.DESCRIPTION
   FROM  PS_PACKAGE_TYPE,
         CC_COMMERCIAL_PLAN,
         PS_PRD_MOTIV_PACKAGE,
         CC_PRODUCTS_BROCHURE,
         PS_PRODUCT_MOTIVE,
         GE_SERVICE_TYPE,
         PS_PRODUCT_TYPE
WHERE PS_PACKAGE_TYPE.PACKAGE_TYPE_ID =
CC_COMMERCIAL_PLAN.PACKAGE_TYPE_ID AND
       PS_PACKAGE_TYPE.PACKAGE_TYPE_ID =
PS_PRD_MOTIV_PACKAGE.PACKAGE_TYPE_ID AND
       CC_COMMERCIAL_PLAN.COMMERCIAL_PLAN_ID =
CC_PRODUCTS_BROCHURE.COMMERCIAL_PLAN_ID AND
       PS_PRD_MOTIV_PACKAGE.PRODUCT_MOTIVE_ID =
PS_PRODUCT_MOTIVE.PRODUCT_MOTIVE_ID AND
       PS_PRODUCT_MOTIVE.PRODUCT_TYPE_ID =
PS_PRODUCT_TYPE.PRODUCT_TYPE_ID AND
       GE_SERVICE_TYPE.SERVICE_TYPE_ID = PS_PRODUCT_TYPE.SERVICE_TYPE_ID
AND (CC_PRODUCTS_BROCHURE.MARKETING_SEGMENT_ID = :MARKETING_SEGMENT_ID)

Which is the best way to obtain this?

Thanks beforehand for the collaboration.

Greetings.

Alvaro.

Author
19 Apr 2006 4:59 AM
Cor Ligthert [MVP]
Alvaro,

As I see it as this, why don't you than get it as a datatable fromt he
databaseserver using this select?

Cor

Show quote
"Alvaro E. Gonzalez" <AGonzal***@gmail.com> schreef in bericht
news:OgjnEe0YGHA.3532@TK2MSFTNGP05.phx.gbl...
> Hi,
>
> I have a dataset with many ralated datatables, i need execute filter that
> gives back datarows to me that gives back to me if outside the following
> SQL command.
>
> SELECT  distinct   GE_SERVICE_TYPE.SERVICE_TYPE_ID,
> GE_SERVICE_TYPE.DESCRIPTION
>   FROM  PS_PACKAGE_TYPE,
>         CC_COMMERCIAL_PLAN,
>         PS_PRD_MOTIV_PACKAGE,
>         CC_PRODUCTS_BROCHURE,
>         PS_PRODUCT_MOTIVE,
>         GE_SERVICE_TYPE,
>         PS_PRODUCT_TYPE
> WHERE PS_PACKAGE_TYPE.PACKAGE_TYPE_ID = CC_COMMERCIAL_PLAN.PACKAGE_TYPE_ID
> AND
>       PS_PACKAGE_TYPE.PACKAGE_TYPE_ID =
> PS_PRD_MOTIV_PACKAGE.PACKAGE_TYPE_ID AND
>       CC_COMMERCIAL_PLAN.COMMERCIAL_PLAN_ID =
> CC_PRODUCTS_BROCHURE.COMMERCIAL_PLAN_ID AND
>       PS_PRD_MOTIV_PACKAGE.PRODUCT_MOTIVE_ID =
> PS_PRODUCT_MOTIVE.PRODUCT_MOTIVE_ID AND
>       PS_PRODUCT_MOTIVE.PRODUCT_TYPE_ID = PS_PRODUCT_TYPE.PRODUCT_TYPE_ID
> AND
>       GE_SERVICE_TYPE.SERVICE_TYPE_ID = PS_PRODUCT_TYPE.SERVICE_TYPE_ID
> AND (CC_PRODUCTS_BROCHURE.MARKETING_SEGMENT_ID = :MARKETING_SEGMENT_ID)
>
> Which is the best way to obtain this?
>
> Thanks beforehand for the collaboration.
>
> Greetings.
>
> Alvaro.
Author
19 Apr 2006 2:02 PM
Alvaro E. Gonzalez
Author
19 Apr 2006 2:06 PM
Alvaro E. Gonzalez
Author
19 Apr 2006 2:09 PM
Alvaro E. Gonzalez
Author
19 Apr 2006 2:37 PM
Cor Ligthert [MVP]
Alvaro,

I am afraid that you have to wait for Linq to do this real in an efficient way.

However, maybe sees somebody else a clue.

Cor
  "Alvaro E. Gonzalez" <AGonzal***@gmail.com> schreef in bericht news:ujuWfu7YGHA.1228@TK2MSFTNGP02.phx.gbl...

  Hi,

  Because the collected data are not in a data base, they are in XML files that are loaded in the DataSet and must maintain this schema.
  I did select for better understanding.

  The schema picture :



  Cor Ligthert [MVP] wrote:
Alvaro,

As I see it as this, why don't you than get it as a datatable fromt he
databaseserver using this select?

Cor

"Alvaro E. Gonzalez" <AGonzal***@gmail.com> schreef in bericht
news:OgjnEe0YGHA.3532@TK2MSFTNGP05.phx.gbl...
  Hi,

I have a dataset with many ralated datatables, i need execute filter that
gives back datarows to me that gives back to me if outside the following
SQL command.

SELECT  distinct   GE_SERVICE_TYPE.SERVICE_TYPE_ID,
GE_SERVICE_TYPE.DESCRIPTION
  FROM  PS_PACKAGE_TYPE,
        CC_COMMERCIAL_PLAN,
        PS_PRD_MOTIV_PACKAGE,
        CC_PRODUCTS_BROCHURE,
        PS_PRODUCT_MOTIVE,
        GE_SERVICE_TYPE,
        PS_PRODUCT_TYPE
WHERE PS_PACKAGE_TYPE.PACKAGE_TYPE_ID = CC_COMMERCIAL_PLAN.PACKAGE_TYPE_ID
AND
      PS_PACKAGE_TYPE.PACKAGE_TYPE_ID =
PS_PRD_MOTIV_PACKAGE.PACKAGE_TYPE_ID AND
      CC_COMMERCIAL_PLAN.COMMERCIAL_PLAN_ID =
CC_PRODUCTS_BROCHURE.COMMERCIAL_PLAN_ID AND
      PS_PRD_MOTIV_PACKAGE.PRODUCT_MOTIVE_ID =
PS_PRODUCT_MOTIVE.PRODUCT_MOTIVE_ID AND
      PS_PRODUCT_MOTIVE.PRODUCT_TYPE_ID = PS_PRODUCT_TYPE.PRODUCT_TYPE_ID
AND
      GE_SERVICE_TYPE.SERVICE_TYPE_ID = PS_PRODUCT_TYPE.SERVICE_TYPE_ID
AND (CC_PRODUCTS_BROCHURE.MARKETING_SEGMENT_ID = :MARKETING_SEGMENT_ID)

Which is the best way to obtain this?

Thanks beforehand for the collaboration.

Greetings.

Alvaro.
Author
20 Apr 2006 12:18 PM
Jay B. Harlow [MVP - Outlook]
Alvaro,
In addition to Cor's comments.

What are you expecting back?

It sounds like you want an Exception Join, Data Sets don't support Exception
Joins in fact Data Sets don't directly support any join. There is a JoinView
available as a sample DataView at:
http://support.microsoft.com/default.aspx?scid=kb;en-us;325682

That you might be able to modify to do an Exception Join...

If the (possibly modified) JoinView doesn't do what you want, I would
probably simply iterate over each table copying selected rows I wanted to
keep to a new data table. Alternatively I would iterate over each table
deleting selected row that I did not want to keep. Depending on the
percentage of the results compared to the input...

--
Hope this helps
Jay B. Harlow [MVP - Outlook]
..NET Application Architect, Enthusiast, & Evangelist
T.S. Bradley - http://www.tsbradley.net


Show quote
"Alvaro E. Gonzalez" <AGonzal***@gmail.com> wrote in message
news:OgjnEe0YGHA.3532@TK2MSFTNGP05.phx.gbl...
| Hi,
|
| I have a dataset with many ralated datatables, i need execute filter
| that gives back datarows to me that gives back to me if outside the
| following SQL command.
|
| SELECT  distinct   GE_SERVICE_TYPE.SERVICE_TYPE_ID,
| GE_SERVICE_TYPE.DESCRIPTION
|   FROM  PS_PACKAGE_TYPE,
|         CC_COMMERCIAL_PLAN,
|         PS_PRD_MOTIV_PACKAGE,
|         CC_PRODUCTS_BROCHURE,
|         PS_PRODUCT_MOTIVE,
|         GE_SERVICE_TYPE,
|         PS_PRODUCT_TYPE
| WHERE PS_PACKAGE_TYPE.PACKAGE_TYPE_ID =
| CC_COMMERCIAL_PLAN.PACKAGE_TYPE_ID AND
|       PS_PACKAGE_TYPE.PACKAGE_TYPE_ID =
| PS_PRD_MOTIV_PACKAGE.PACKAGE_TYPE_ID AND
|       CC_COMMERCIAL_PLAN.COMMERCIAL_PLAN_ID =
| CC_PRODUCTS_BROCHURE.COMMERCIAL_PLAN_ID AND
|       PS_PRD_MOTIV_PACKAGE.PRODUCT_MOTIVE_ID =
| PS_PRODUCT_MOTIVE.PRODUCT_MOTIVE_ID AND
|       PS_PRODUCT_MOTIVE.PRODUCT_TYPE_ID =
| PS_PRODUCT_TYPE.PRODUCT_TYPE_ID AND
|       GE_SERVICE_TYPE.SERVICE_TYPE_ID = PS_PRODUCT_TYPE.SERVICE_TYPE_ID
| AND (CC_PRODUCTS_BROCHURE.MARKETING_SEGMENT_ID = :MARKETING_SEGMENT_ID)
|
| Which is the best way to obtain this?
|
| Thanks beforehand for the collaboration.
|
| Greetings.
|
| Alvaro.

AddThis Social Bookmark Button