【发布时间】:2012-05-08 03:13:17
【问题描述】:
我有一张最难的桌子
One Two
apple orange
orange grapes
banana strawberry
orange strawberry
grapes apple
现在您可以看到我在这里列出了 5 对。 让我告诉你,这不是一张普通的桌子,因为在这张桌子上水果的名字(苹果)有时在第一列,有时在第二列。
And another table Description
name color
apple red
orange orange
strawberry pink
banana yellow
grapes black
假设我是香蕉,我不想看到与我配对的水果的描述。 现在有人可以告诉我如何在 mysql 中显示与以下所有内容配对但不与香蕉配对的水果的详细信息:草莓、葡萄、苹果。
我说的是mysql不支持的方法。
Select * from description
natural join (select one as name where two='apple' union select two as name where one='apple') as t1
natural join (select one as name where two='grapes' union select two as name where one='grapes') as t2
natural join (select one as name where two='strawberry' union select two as name where one='strawberry') as t3
MINUS
Select * from description
natural join (select one as name where two='banana' union select two as name where one='banana') as b6
【问题讨论】:
-
我完全不明白你的问题..?
-
你不明白什么?
-
@AnkitGautam:您最近对问题的更新增加了要求结果集省略与
banana配对的任何水果,引用MINUS(MySQL 不支持)作为其他解决方案关系型数据库;这个站点上有很多例子,其他例子解释了如何在 MySQL 中实现等效操作:确实,searching Google for "MySQL MINUS" 带来了很多好的结果。您是否尝试过自己实施这些解决方案之一?如果您遇到任何问题,请告诉我们。 -
我尝试过左连接,但语法让我抓狂,因为在各种站点中左连接是为表提供的,但我使用左连接来连接两个连接