【发布时间】:2015-01-29 13:10:27
【问题描述】:
我有一个包含这些值的表:
╔════╦═══════════════╗
║ 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 ║
╚═════════════╩══════════════╝
我试图通过在生成上表的查询的 SELECT 和 WHERE 语句中使用子查询来显示 EQUIPMENT.TYPE 字段。但是,我得到了:ORA-01427: single-row subquery returns more than one row 01427. 00000 - "single-row subquery returns more than one row"。我假设这是因为设备 ID 值被多次返回。
是否可以通过连接来做到这一点?
【问题讨论】:
-
请显示您的查询和预期的输出。
-
@Gary_W 感谢您的回复。我已经设法对其进行排序。我对这个问题的措辞泄露了它。我需要一个联接而不是子查询!