2012-08-01 125 views
0

這是我的查詢:錯誤與嵌套查詢

SELECT id, DeviceName, DeviceTypeId 
FROM device 
WHERE DeviceTypeId LIKE (SELECT DeviceId FROM net_backupdevice WHERE CustomerId = '1'); 
以下錯誤顯示

執行之後。

ERROR 1242(21000):子查詢返回多個1行

此表net_backupdevice返回2條記錄,我想都記錄信息的ID,設備名稱,DeviceTypeId存儲在設備表。

所以請大家幫忙。

+0

的子查詢返回更多的價值,嘗試加入查詢子查詢即時 – 2012-08-01 10:08:16

回答

0
SELECT id, DeviceName, DeviceTypeId FROM device WHERE DeviceTypeId IN (select DeviceId from net_backupdevice where CustomerId = '1'); 

請注意,而不是像

的IN
+0

arnoudhgz:其工作..感謝。 – Sandy8086 2012-08-01 10:11:12

0

最簡單的解決

SELECT id, DeviceName, DeviceTypeId 
FROM device 
WHERE DeviceTypeId IN (select DeviceId from net_backupdevice where CustomerId = '1'); 

也許這是一個正確的版本

SELECT id, DeviceName, DeviceTypeId 
FROM device d inner join net_backupdevice nb on d.DeviceTypeId = nb.DeviceId 
WHERE nb.CustomerId = 1;