2015-01-28 4 views
0

У меня есть таблица, содержащая следующие значения:
подзапроса несколько строк оракул

╔════╦═══════════════╗ 
║ ID ║  TYPE  ║ 
╠════╬═══════════════╣ 
║ 1 ║ FUEL PUMP  ║ 
║ 2 ║ FIRE ALARM ║ 
║ 3 ║ FIRE PUMP  ║ 
║ 4 ║ SAFETY SHOWER ║ 
╚════╩═══════════════╝ 

(query is: SELECT DISTINCT TYPE FROM EQUIPMENT) 

И запрос, который возвращает:

╔═════════════╦══════════════╗ 
║ Room  ║ Equipment ID ║ 
╠═════════════╬══════════════╣ 
║ Locker Room ║   1 ║ 
║ Hallway  ║   1 ║ 
║ Foyer  ║   2 ║ 
║ Office 1 ║   3 ║ 
║ Office 2 ║   2 ║ 
╚═════════════╩══════════════╝ 

Я попытался сделать дисплей EQUIPMENT.TYPE поля по используя подзапрос в операторе SELECT и WHERE запроса, который генерирует приведенную выше таблицу. Тем не менее, я получаю: ORA-01427: single-row subquery returns more than one row 01427. 00000 - "single-row subquery returns more than one row". Я asusme это потому, что значение ID ОБОРУДОВАНИЯ возвращается более одного раза.

Можно ли это сделать с помощью соединения?

+1

Пожалуйста, покажите свой запрос и ожидаемый результат. –

+0

@Gary_W Спасибо за ваш ответ. Мне удалось разобраться. Моя формулировка вопроса ушла. Мне нужно соединение, а не суб-запрос! – LaLa

ответ

0
select room, type 
from equipment join rooms 
on rooms.equipment_id = equipment.id 

Предполагая, что другая таблица называется НОМЕРАМИ.

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