Chinaunix

标题: 问一个查询的问题 [打印本页]

作者: ryuken2008    时间: 2004-05-10 10:27
标题: 问一个查询的问题
我有如下两个表:
animal
animal_id  name
----------------
1          cat
2          dog
3          horse
----------------

food
food_id   animal_id   name
--------------------------  
1         1           鱼
2         1           老鼠
3         1           猪肝
4         2           骨头
5         2           老鼠
6         3           青草
--------------------------
我想实现的查询如下:
1.找出只吃一种食物的动物,查询结果显示动物名和食物名
2.找出只被一种动物吃的食物,查询结果显示动物名和食物名
请问这两条SELECT语句该如何写,我用的数据库是PostgreSQL
作者: rock_jq    时间: 2004-05-10 12:49
标题: 问一个查询的问题
1.select animal.name,food.name form animal , food
where animal.animal_id=food.animal_id
and food.animal_id in ( select animal_id form food group by animal_id having count(*)=1);

2.select animal.name,food.name form animal , food
where animal.animal_id=food.animal_id
and food.food_id in ( select food_id form food group by food_id having count(*)=1);
作者: ryuken2008    时间: 2004-05-10 14:46
标题: 问一个查询的问题
原帖由 "rock_jq" 发表:
1.select animal.name,food.name form animal , food
where animal.animal_id=food.animal_id
and food.animal_id in ( select animal_id form food group by animal_id having count(*)=1);

2.select animal...........

高人!厉害呀




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2