SELECT DENTRO DE OUTRO
Tenho uma select dentro de outro select mais estou recebendo um erro de FROM invalida. Estou usando access 97 com vb5. Ja tentei colocar no proprio access mais ele me da o mesmo erro.
Ja tentei tambem fazer a consulta interna separado para ver se da erro e ele funciona (esta em negrito). Algum tem alguma ideia.
SELECT cliente.Razao_social, Consulta.ultima_data, cliente.codigo
FROM cliente,
(SELECT tab_cliente.codigo, MAX(pedido.data) AS ultima_data
FROM pedido, cliente AS tab_cliente
WHERE tab_cliente.codigo = pedido.cliente
GROUP BY tab_cliente.codigo) as Consulta where consulta.codigo = cliente.codigo
Ja tentei tambem fazer a consulta interna separado para ver se da erro e ele funciona (esta em negrito). Algum tem alguma ideia.
SELECT cliente.Razao_social, Consulta.ultima_data, cliente.codigo
FROM cliente,
(SELECT tab_cliente.codigo, MAX(pedido.data) AS ultima_data
FROM pedido, cliente AS tab_cliente
WHERE tab_cliente.codigo = pedido.cliente
GROUP BY tab_cliente.codigo) as Consulta where consulta.codigo = cliente.codigo
Até onde eu me lembro o Access não suporta "query correlacionada" (query na clausula FROM)...
Tente resolver com subquery na clausula WHERE, assim:
SELECT cliente.Razao_social, pedido.data, cliente.codigo
FROM cliente, pedido
WHERE cliente.codigo = pedido.cliente
AND pedido.data = (SELECT MAX(ped.data) FROM pedido ped WHERE ped.cliente = cliente.codigo)
Tópico encerrado , respostas não são mais permitidas