mysql在限制条件下筛选某列数据相同的值

有一个schema如下

fish(name,species,tankid)
eat(species1,species2)

其中eat表示鱼类之间相互捕食关系,species1是被捕食的鱼类
tankid表示鱼缸id

需要筛选出:与可以捕食他的鱼(species2)放在同一个鱼缸中(tankid相等)的鱼(species1)的名字

求用sql语句说明

阅读 3.5k
1 个回答
SELECT a.*, b.name AS name1, c.name AS name2
FROM eat AS a 
LEFT JOIN fish AS b ON a.species1=b.species
LEFT JOIN fish AS c ON a.species2=c.species
WHERE b.tankid=c.tankid
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题