输入
+--------+------+------+
| col1 | col2 | col3 |
+--------+------+------+
| apple | d | 10 |
| apple | d | 44 |
| apple | e | 55 |
| orange | d | 99 |
| orange | c | 33 |
| orange | d | 10 |
| banana | e | 55 |
| banana | d | 10 |
+--------+------+------+
所需输出
+--------+------+------+
| col1 | col2 | col3 |
+--------+------+------+
| apple | d | 10 |
| orange | d | 10 |
| banana | d | 10 |
+--------+------+------+
我们将检查 col2 和 col3 是否有 N 种不同类型的水果。
我们只想列出 col2 和 col3 值相同且所有水果都存在该行的那些
扩展解释:
你可以这样想:-
第1步
将所有不同类型的水果分开:-
苹果:-
+-------+------+------+
| col1 | col2 | col3 |
+-------+------+------+
| apple | d | 10 |
| apple | d | 44 |
| apple | e | 55 |
+-------+------+------+
橙子:-
+--------+------+------+
| col1 | col2 | col3 |
+--------+------+------+
| orange | d | 99 |
| orange | c | 33 |
| orange | d | 10 |
+--------+------+------+
香蕉:-
+--------+------+------+
| col1 | col2 | col3 |
+--------+------+------+
| banana | e | 55 |
| banana | d | 10 |
+--------+------+------+
第2步:-
现在只选择那些
- 具有相同的 col2 和 col3 值
和
- 它存在于所有类型的水果中。
观察:-
'apple e 55' 和 'banana e 55' 具有相同的 col2 和 col3 值,但未选择它,因为不存在 'orange e 55'。
如果您使用的是临时表,请确保它应该是通用的。它应该支持 N 个水果。
注意:- 这不是学生的作业:D
。我用简单的话来解释它,因为它是一个漫长而冗长的查询的一部分,我对如何解决它的想法为零。我一直在使用一种创建临时表的技术,但我遇到了一些问题。它不是通用的。所以,我相信这个问题可能会有更好的解决方案。