Querying data from multiple views

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Win2003InstallIssues

    Querying data from multiple views

    Hello,

    I am relatively new to doing non-trivial SQL queries.

    I have to get data out of 8 diff views based on a parameter Name.

    There is a view having name-ssn pairs. All other views have SSN field.

    For a person there MAY NOT be data in all the views.

    I have to populate data into diff tables in a Report from different
    views.

    I would like to know what is the best way to approach it.

    So far I was trying an Inner join from the Name-ssn vies to all other
    views based on the SSN and test for the name field with the input
    parameter.

    I am thinking there will be problem of Cross join if I dont have data
    in all views about a person.

    Or the best way is to write query for each view and have all of them in
    a stored procedure ?

    Any help will be appreciated

    Thanks
    Bofo

  • Erland Sommarskog

    #2
    Re: Querying data from multiple views

    Win2003InstallI ssues (bofobofo@yahoo .com) writes:[color=blue]
    > I am relatively new to doing non-trivial SQL queries.
    >
    > I have to get data out of 8 diff views based on a parameter Name.
    >
    > There is a view having name-ssn pairs. All other views have SSN field.
    >
    > For a person there MAY NOT be data in all the views.
    >
    > I have to populate data into diff tables in a Report from different
    > views.
    >
    > I would like to know what is the best way to approach it.
    >
    > So far I was trying an Inner join from the Name-ssn vies to all other
    > views based on the SSN and test for the name field with the input
    > parameter.
    >
    > I am thinking there will be problem of Cross join if I dont have data
    > in all views about a person.
    >
    > Or the best way is to write query for each view and have all of them in
    > a stored procedure ?[/color]

    Your post is not that crystal clear. But it sounds to me that you
    should left-join from the Name-SSN mapping view:

    SELECT ...
    FROM name_ssn_view n
    LEFT JOIN ssn_view1 ON n.ssn = s1.ssn
    LEFT JOIN ssn_view2 ON n.ssn = s2.ssn
    ...
    WNERE n.name = @name

    If this does not answer your question, please post some simplified
    example that shows your setup.

    --
    Erland Sommarskog, SQL Server MVP, esquel@sommarsk og.se

    Books Online for SQL Server SP3 at
    Accelerate your AI application's time to market by harnessing the power of your own data and the built-in AI capabilities of SQL Server 2025, the enterprise database with best-in-class security, performance and availability.

    Comment

    Working...