我需要PL / SQL中的代码

时间:2016-08-12 10:51:10

标签: database oracle plsql

我是PL / SQL的首发,我遇到了问题。 我有两张桌子如下:

Table_1

Customer           Hometown             Request
-----------------------------------------------
 John               London                Car
 John               London               House
 Michael            Amsterdam             Car
 Michael            Amsterdam           Computer
 Alan               Manchester           Yacht
 Mehmet             Istanbul            Telephone


Table_2

Customer           Hometown             Request
-----------------------------------------------

 Michael            Amsterdam             Car
 Michael            Amsterdam           Computer
 Alan               Manchester           House
 Chris              Liverpool            Telephone
 David              London                Car
 Ali                Istanbul            Computer
 Arda               Istanbul            Telephone

问题在于:

Table_1中有Customer John和Mehmet,但Table_2没有。 表1中约翰的请求是什么?他们是汽车和房子。 表2中谁想要汽车或房子和家乡是伦敦?是大卫。 表1中的穆罕默德请求是什么?这是电话。 谁想要电话和家乡是表2中的伊斯坦布尔?这是Arda。 简而言之,我希望客户的客户等同于table_1中存在的客户,而不是table_2,其中他们的家乡和table_2中的请求是相同的。 所以我想看看这张表:

 Customer_Table_1     Customer_Table_2    Hometown     Request
 -------------------------------------------------------------
     John                  David           London       Car
     Mehmet                Arda            Istanbul     Telephone

我在SQL中创建它,我看到了这个表,我使用了Pivot。但是我想使用PL / SQL而且我不知道它是怎么做的。 我怎么能在PL / SQL中做到这一点? 谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

我认为这可以通过简单的INNER JOIN

来实现
select a.Customer, b.Customer, a.hometown, a.request
  from table_1 a inner join table_2 b
    on a.hometown = b.hometown and
       a.request  = b.request;