SQL query with a Left outer Join

Ask a Question related to Coldfusion Database Access, Design and Development.

  1. #1

    Default SQL query with a Left outer Join

    I have a problem with this query. I have a left outer join with a table
    OrderStatus but, I don't want it to reterive those records where the field
    OrderStatus equals 'closed'. When I apply that filter no records are returned.
    When I remove it I have two. etc.. Any ideas on how I could construct the SQL
    expression? SELECT InboxItems.ItemID, Orders.OrderType,
    Orders.OrderStatus, InboxItems.*, * FROM
    InboxItems LEFT OUTER JOIN Orders ON InboxItems.ItemID =
    Orders.ItemID WHERE (InboxItems.CustomerID = 1) AND (InboxItems.Status NOT
    LIKE 'discarded') AND (InboxItems.Status NOT LIKE
    'forwarded') AND (Orders.OrderStatus NOT LIKE 'closed') ORDER BY
    InboxItems.DateReceived DESC

    Ad Bec Guest

  2. Similar Questions and Discussions

    1. left outer join problem
      Greetings fellow MySqlers, We are a non-profit, not-kill cat rescue society having some problems with our online reports. We need a report...
    2. Outer join?
      Sometimes I need to make queries and join tables, knowing that the other table rows are not always available. Example: I do SELECT...
    3. Left Outer Join
      Hi, I have noticed when I do a Left Outer Join in short form that many rows become missing as result of null values. i.e Left Outer Join...
    4. OUTER JOIN
      I can't get this outer join to work, It worked when i made it into a inner join Select * FROM dbo.tEmployee OUTER JOIN dbo.tEmployeeaccess ON...
    5. FULL OUTER JOIN
      Will Cold Fusion process a FULL OUTER JOIN in a cfquery?
  3. #2

    Default Re: SQL query with a Left outer Join

    Without knowing the db structure and the data, I would first suggest that you
    don't use like (no need to)
    I would also suggest that you get rid of InboxItems.* and * from the select
    clause and list the actual columns you want.
    This is because you will end up with columns with duplicate names

    Next I would suggest doing the left join to a sub query

    SELECT InboxItems.ItemID, Ord.OrderType, Ord.OrderStatus,
    InboxItems.*, *
    FROM InboxItems LEFT OUTER JOIN (Select * From Orders Where Orders.OrderStatus
    <> 'closed') Ord ON InboxItems.ItemID = Ord.ItemID
    WHERE (InboxItems.CustomerID = 1) AND (InboxItems.Status <> 'discarded') AND
    (InboxItems.Status <> 'forwarded')
    ORDER BY InboxItems.DateReceived DESC


    Ken

    The ScareCrow Guest

  4. #3

    Default Re: SQL query with a Left outer Join

    I know in TSQL the WHERE clause is treated like an INNER JOIN, you have to
    do the filtering in the FROM clause.

    I believe you would need to write it like this:

    Also, I would not go with the LIKE clause it is slower in your queries, use
    = or <>

    SELECT InboxItems.ItemID, Orders.OrderType, Orders.OrderStatus,
    InboxItems.*, *
    FROM InboxItems LEFT OUTER JOIN
    Orders ON InboxItems.ItemID = Orders.ItemID AND OrderStatus <>
    'closed'
    WHERE (InboxItems.CustomerID = 1) AND (InboxItems.Status NOT
    LIKE 'discarded') AND (InboxItems.Status NOT LIKE
    'forwarded')
    ORDER BY
    InboxItems.DateReceived DESC

    "Ad Bec" <webforumsuser@macromedia.com> wrote in message
    news:d3himv$6v1$1@forums.macromedia.com...
    >I have a problem with this query. I have a left outer join with a table
    > OrderStatus but, I don't want it to reterive those records where the field
    > OrderStatus equals 'closed'. When I apply that filter no records are
    > returned.
    > When I remove it I have two. etc.. Any ideas on how I could construct the
    > SQL
    > expression? SELECT InboxItems.ItemID, Orders.OrderType,
    > Orders.OrderStatus, InboxItems.*, * FROM
    > InboxItems LEFT OUTER JOIN Orders ON
    > InboxItems.ItemID =
    > Orders.ItemID WHERE (InboxItems.CustomerID = 1) AND (InboxItems.Status
    > NOT
    > LIKE 'discarded') AND (InboxItems.Status NOT LIKE
    > 'forwarded') AND (Orders.OrderStatus NOT LIKE 'closed') ORDER BY
    > InboxItems.DateReceived DESC
    >

    Adam Guest

Posting Permissions

  • You may not post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139