【发布时间】:2011-01-23 20:24:15
【问题描述】:
我有这样的输出:
id name date school school1
1 john 11/11/2001 nyu ucla
1 john 11/11/2001 ucla nyu
2 paul 11/11/2011 uft mit
2 paul 11/11/2011 mit uft
我想实现这个:
id name date school school1
1 john 11/11/2001 nyu ucla
2 paul 11/11/2011 mit uft
我直接使用join,如:
select distinct
a.id, a.name,
b.date,
c.school
a1.id, a1.name,
b1.date,
c1.school
from table a, table b, table c,table a1, table b1, table c1
where
a.id=b.id
and...
有什么想法吗?
【问题讨论】:
-
格式化您的代码并提供更多信息。
-
你如何区分学校和学校1?它们是按字母顺序排列的吗?
-
这些列是否旨在表示 (1) 学生的 ID (2) 学生的姓名 (3) 与学生相关的某个日期 (4) 与某个学生相关联的按字母顺序排列的学校学生和 (5) 与学生相关联的按字母顺序排列的第二个学校?如果是这样,那么您可能需要进行子选择来定义第 4 列和第 5 列,除非有一些我还没有研究过的交叉表魔术。
-
我尝试进行子选择,但它给了我一些“选择时”错误;所以我做了一个子查询,然后我离开了它。但遇到错误
-
用更多信息编辑您的问题可能是值得的。向我们展示示例数据、表格设计、预期结果(应该对查询进行什么操作,您希望看到哪些数据,而您现在没有看到)。告诉我们你现在离开只会让我们更加复杂。如有疑问,请提供更多信息。
标签: sql duplicate-removal delete-row corresponding-records