Actualmente estoy elaborando una vista en FoxPro, pero me muestra el siguiente error, SQL: Invalid Use of Subquery. La sentencia es la siguiente:
Código SQL
[-]SELECT detalle_partidas.id_cuenta,
IIF(SUBSTR(detalle_partidas.id_cuenta,1,3)=SUBSTR(cuentas.id_cuenta,1,3),
(SELECT cuentas.nombre_cuenta FROM cuentas cuentas WHERE (cuentas.nivel_cuenta=$2)),'N/A') AS 'CTA.MAYOR',
cuentas.nombre_cuenta, partidas.concepto,
detalle_partidas.concepto, partidas.fecha_partida,
(detalle_partidas.cargo-detalle_partidas.abono) AS 'NETO',
detalle_partidas.id_partida, partidas.numero_partida,
partidas.tipo_partida, tipos_partidas.descripcion,
(substr(dtoc(partidas.fecha_partida),1,2)+'/'+substr(dtoc(partidas.fecha_partida),7,4)) AS 'MES/AÑO',
IIF(cuentas.cargar_como=$1,'ACTIVO',IIF(cuentas.cargar_como=$2,'PASIVO',IIF(cuentas.cargar_como=$3,
'PATRIMONIO',IIF(cuentas.cargar_como=$4,'GASTOS',IIF(cuentas.cargar_como=$5,
'INGRESOS',IIF(cuentas.ca rgar_como=$6,'CTAS.CIERRE','ORDEN DEUDORAS')))))) AS 'TIPO'
FROM cuentas cuentas, detalle_partidas detalle_partidas, partidas partidas, tipos_partidas tipos_partidas
WHERE partidas.id_partida = detalle_partidas.id_partida AND
tipos_partidas.tipo_partida = partidas.tipo_partida AND
cuentas.id_cuenta = detalle_partidas.id_cuenta AND
((partidas.fecha_partida Between {d '2010-01-01'} And {d '2011-12-31'}))
ORDER BY partidas.fecha_partida
O existe otra forma para evaluar? Ya que lo que quiero que asigne el nombre de la cuenta, pero la que se encuentre a nivel de detalle 2.
Gracias de antemano por la ayuda!!