• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 255
  • Last Modified:

Transact-SQL Statement.

I have the following structure of 3 tables with the key fields shown.
TableA        TableB          TableC
TA_Key <----> TA_Key <------> TA_Key
              TB_Year         TB_Year
with the tables linked as shown.
In order to set up a text file with details from the three
tables I have set up a stored proc with the following statement.
SELECT * from TableA, TableB, TableC
WHERE TableA.TA_Key = @p1 AND TableA.TA_Key = TableB_TA_Key
AND TableA.TA_Key = TableC.TA_Key.

This returns me resultsets perfectly fine except in the
situations where a row exists on TableA and TableB but not
on TableC or some combination of this.
In this situation I would like the resultset to return me
the TableA and TableB rows and the TableC row as blank.
Whats the best way to write my SQL Statement ?.
ED.
0
eryan
Asked:
eryan
  • 2
1 Solution
 
odessaCommented:
Try to use some like "TA_Key = NULL" in this way

SELECT * from TableA, TableB, TableC
WHERE ((TableA.TA_Key = @p1) or (TableA.TA_Key = NULL)) and
      ((TableB.TA_Key = @p1) or (TableB.TA_Key = NULL)) and
      ((TableC.TA_Key = @p1) or (TableC.TA_Key = NULL))
0
 
eryanAuthor Commented:
Odessa,
That still only returns me a result set if tablesA,B,C all have
a matching Key.
I.E If there is a TableA row with key = 12
                a TableB row with key = 12, 1998
                a TableC row with key = 12, 1998 its fine
but if the tableC row does not exist, then a blank resultsset
is returned.
ED

0
 
tschill120198Commented:
You need to use outer joins to tables B and C...

    select  a.TA_Key,
          b.year,
            c.year
    from    tableA a
            left outer join tableB b on (a.TA_Key = b.TA_Key)
            left outer join tableC c on (a.TA_Key = c.TA_Key)
    where   a.TA_Key = @p1

This will give you back nulls for tables B and C when they don't have a value... if you really want a "blank" you can convert the column in the result
0
 
eryanAuthor Commented:
Tschill,
Thanks for that, exactly what I needed.
ED.

0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now