Sql Oracle:如何基于由行的单元格而不是列保存的值返回行?

Sql Oracle:如何基于由行的单元格而不是列保存的值返回行?,sql,Sql,我不确定我是否真的提出了正确的问题,我甚至不知道从哪里开始,所以我没有太多的代码 无论如何,问题是:显示与名为“Amado Taylor”的客户具有相同包装id的所有客户的姓氏、名字和包装id 有一个名为customers的表,其中有名字、姓氏和pack\u ID 我问过我的老师,他说使用自连接,我理解这个函数,但我仍然不知道如何进行查询 任何帮助都将不胜感激。编辑:使用自连接查询 select * from customers c inner join customers c1 on c.pa

我不确定我是否真的提出了正确的问题,我甚至不知道从哪里开始,所以我没有太多的代码

无论如何,问题是:显示与名为“Amado Taylor”的客户具有相同包装id的所有客户的姓氏、名字和包装id

有一个名为customers的表,其中有名字、姓氏和pack\u ID

我问过我的老师,他说使用自连接,我理解这个函数,但我仍然不知道如何进行查询


任何帮助都将不胜感激。

编辑:使用自连接查询

select * from customers c
inner join
customers c1
on c.pack_id=c1.pack_id
and c1.first_name = 'Amado' and 
c1.last_name - 'Taylor'
但是你也可以用这个

select * From customers where pack_Id in
(
select pack_id from customers
where first_name = 'Amado' and last_name = 'Taylor'
)

您还可以将内部查询用作一个单独的表,并使用该表在
pack\u id

上连接
customers
。它应该是威瑟尔Oracle或MySQL。无论如何,供您使用的查询不会改变。这看起来不像是自加入,这是讲师说要使用的。因为“IN”比“join”要快,因此我在评论中提到了这一点。不管怎样,我也用
join
进行了查询。谢谢你,老兄,这回答了我的问题。如果您将c1.first_名称与c.first_名称进行切换,会有什么区别吗?还是由于自连接的性质,这只是任意信息?在您的情况下,您可以进行切换。两者都会起作用。如果答案对你有用,那么请接受它,这样问题就可以结束了。谢谢输入很可能更快,但给出的答案与要求的答案不同是不正确的。这就像有人问在哪里可以找到最近的百思买来修理他们的电脑,并告诉他们去最近的苹果天才酒吧,问百思买的方向。天才们可能知道,但更正确的做法是,首先直接给他们提供他们要求的百思买地点。