On Wed, 2008-06-11 at 14:41 -0400, PostgreSQL Admin wrote:
> I would like to have multiple values nutrient_no:
> ndb_no | nutrient_no | nutrient_value
> --------+-------------+----------------
> 13473 | 203 | 24.18
> 13473 | 204 | 15.93
> 13473 | 205 | 0
> 13473 | 207 | 1.1
> 13473 | 208 | 247
> 13473 | 221 | 0
>
> I'm thinking:
> select nutrient_no, nutrient_value from nutrient_data where ndb_no =
> 13473 and (nutrient_no = '203' or nutrient_no = '204' or nutrient_no =
> 208);
>
>
> Now is that the most efficient SQL query?
>
> Thanks,
> J
It seems that you'd want to do something like:
select nutrient_no, nutrient_value from nutrient_data where ndb_no =
13473 and nutrient_no in (203, 204, 208..)
You could also grab the most significant 8 nutrients by doing something
like:
select nutrient_no, nutrient_value from nutrient_data where ndb_no =
13473 order by nutrient_value desc limit 8
-Mark