SELECT cl.nome FROM ((((Cliente cl INNER JOIN Compra c ON cl.n_cliente = c.n_cliente) INNER JOIN Artigo a ON c.n_serie = a.n_serie) INNER JOIN Modelo m ON a.cod_modelo = m.cod_modelo AND a.cod_marca = m.cod_marca) INNER JOIN Modelo_Categoria modc ON modc.cod_modelo = m.cod_modelo) INNER JOIN Categoria cat ON cat.cod = modc.cod WHERE cat.descricao = 'RAM' AND EXISTS ( SELECT cl1.nome FROM ((((Cliente cl1 INNER JOIN Compra c1 ON cl1.n_cliente = c1.n_cliente) INNER JOIN Artigo a1 ON c1.n_serie = a1.n_serie) INNER JOIN Modelo m1 ON a1.cod_modelo = m1.cod_modelo AND a1.cod_marca = m1.cod_marca) INNER JOIN Modelo_Categoria modc1 ON modc1.cod_modelo = m1.cod_modelo) INNER JOIN Categoria cat1 ON cat1.cod = modc1.cod WHERE cat1.descricao = 'Computador' AND c1.data_compra < c.data_compra GROUP BY cl.nome, data_compra, c.ncompra ) GROUP BY cl.nome;