0

これは私のクエリです:

SELECT id, DeviceName, DeviceTypeId
FROM device
WHERE DeviceTypeId LIKE (SELECT DeviceId FROM net_backupdevice WHERE CustomerId = '1');

実行後、エラー表示に続きます。

エラー 1242 (21000): サブクエリは複数の行を返します

このテーブル net_backupdevice は 2 つのレコードを返します。両方のレコード情報 id、DeviceName、DeviceTypeId をデバイス テーブルに格納する必要があります。

だから助けてください。

4

2 に答える 2

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

LikeではなくINに注意してください

于 2012-08-01T10:07:32.450 に答える
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;
于 2012-08-01T10:09:55.833 に答える