2016-08-12 4 views
-2

Я стартер в PL/SQL, и у меня есть проблема. У меня есть две таблицы, как показано ниже:Мне нужен код в 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 

Проблема заключается в том, что:

Есть клиентов Джона и Mehmet в Table_1, но не Table_2. Какие просьбы Иоанна в таблице_1? Это автомобиль и дом. Кому нужен автомобиль или дом и родной город Лондон в Table_2? Это Дэвид. Что такое запросы Мехмета в таблице_1? Это телефон. Кто хочет Телефон и родной город Стамбул в таблице_2? Это Арда. Вскоре я хочу, чтобы клиентские эквиваленты клиентов существовали в таблице_1, но не table_2, где их родные города и запросы в таблице_2 одинаковы. Так что я хочу видеть эту таблицу:

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

Я сделал это в SQL, и я видел эту таблицу, я Pivot. Но я хочу использовать PL/SQL, и я не знаю, как это сделать. Как это сделать в PL/SQL? Спасибо за помощь.

+0

Что такое ваш вопрос? Ваше объяснение на самом деле не помогает. –

+0

Вскоре мне нужны общие запросы между Table_1 и Table_2. – yilmazosmanfurkan61

+2

Если вы уже в состоянии сделать это в SQL, что вы хотите делать в PL/SQL? Если вы хотите использовать значения в PL/SQL для чего-то, вы можете использовать курсор, цикл for или даже выбрать. – ErikL

ответ

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; 
+0

Я сделал это, я использую точку опоры и присоединяюсь. Но я хочу сделать процедуру или fuction в plsql. – yilmazosmanfurkan61

+0

и какова цель функции или процедуры? – ErikL

+0

мой наставник хочет удовлетворить себя – yilmazosmanfurkan61

Смежные вопросы