Professional Web Applications Themes

T-SQL Question - Microsoft SQL / MS SQL Server

I have two tables with the design below: Company table companyid metricid financialvalue Metric table metricid metricname I would like to construct a query / stored procedure that would return a recordset with the companyid, metricname, metricid, and financialvalue based on criteria supplied by the user. My query is returning records if one of the WHERE criteria is met because of the OR operator. I need to have all criteria met before returning the record. WHERE (MetricID = 1) AND (FinancialValue > 0) OR (Metrics.MetricID = 4) AND (FinancialValue > 0) Will this construct need to be in the JOIN? ...

  1. #1

    Default T-SQL Question

    I have two tables with the design below:

    Company table
    companyid
    metricid

    financialvalue

    Metric table
    metricid
    metricname

    I would like to construct a query / stored procedure that
    would return a recordset with the companyid, metricname,
    metricid, and financialvalue based on criteria supplied
    by the user.

    My query is returning records if one of the WHERE
    criteria is met because of the OR operator. I need to
    have all criteria met before returning the record.

    WHERE (MetricID = 1) AND (FinancialValue > 0) OR
    (Metrics.MetricID = 4) AND (FinancialValue > 0)

    Will this construct need to be in the JOIN? Any help is
    appreciated.





    Mary Guest

  2. #2

    Default T-SQL Question

    Is this what you are looking for ?

    Select companyid
    , metricname
    , a.metricid
    , financialvalue
    from Company a
    join Metric b on a.metricid = b.metricid
    where FinancialValue > 0
    and b.metricid in (1,4)

    What criteria does the user supply??

    Srinivas Sampangi
     
    sampangi Guest

  3. #3

    Default T-SQL Question

    Mary:

    Try:

    WHERE (MetricID = 1 AND FinancialValue > 0) OR
    (Metrics.MetricID = 4 AND FinancialValue > 0)

    HTH
    Vern
     
    Vern Guest

  4. #4

    Default T-SQL Question

    Vern,

    I did try that earlier and that doesn't work because if
    either of the items is true, i get a record returned.

    The whole where clause needs to be "true" in order for my
    recordset to be accurate.

    The user will be supplying the metricid and the financial
    value.

    Does that make sense?

     [/ref]
    that [/ref]
    metricname, [/ref]
    0) [/ref]
    is 
    >.
    >[/ref]
    Mary Guest

  5. #5

    Default T-SQL Question

    Mary:

    I don't think I'm understanding the whole thing. How can
    metricid = 1 and at the same time metricid = 4? Post your
    entire select statement and maybe it'll make more sense.

    Vern
     [/ref]
    >that [/ref]
    >metricname, [/ref]
    >0) [/ref]
    >is 
    >>.
    >>[/ref]
    >.
    >[/ref]
    Vern Guest

Similar Threads

  1. Newbie Question: Biz Card Template Question
    By Thomas_Porter@adobeforums.com in forum Adobe Indesign Windows
    Replies: 4
    Last Post: May 30th, 08:08 AM
  2. Replies: 9
    Last Post: April 27th, 04:44 AM
  3. Pen Tool Use Question. (Embarrassingly Newbie Question)
    By Bozo Schmozo in forum Macromedia Flash
    Replies: 0
    Last Post: November 12th, 10:00 PM
  4. regexp question + html::pr question on the side
    By boris in forum PERL Miscellaneous
    Replies: 4
    Last Post: September 27th, 02:24 AM
  5. newB question: related tables question
    By Blue man in forum Microsoft SQL / MS SQL Server
    Replies: 1
    Last Post: June 30th, 04:13 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not 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