Inner Join em Access!

4 respostas
Rubem_Azenha

pessoal, como eu resolvo uma consulta que tem inner join, usando o SQL do Access?
até onde eu sei e testei, o access não tem inner join…

4 Respostas

W

se nao tem o inner join faz que deve funcionar

select * from tb1, tb2  where tb1.pk = tb2.fk
jujo

hehehehe
O access tem innerjoin sim…
mas tem várias excessoes… hehehe
por exemplo… se vc usa inner noin não poderá usar um left join subsequente… mas aconselho mesmo fazer como nosso amigo fez acima… é o jeito que funciona melhor… embora o inner join deveria ser mais rápido…

abraços!

Rubem_Azenha

muito abrigado ae pessoal… :lol:

robinsonbsilva

Segue um exemplo com INNER JOIN em ACCESS:

///////////////////////////////////////
//              CONSULTA            ///
///////////////////////////////////////
/*public ResultSet consulta(){

    SQL = " SELECT id_venda, id_cliente, " +
    "Right( v.data_emissao,2) & '/' & MID( v.data_emissao,5,2) &  '/' &  Left( v.data_emissao,4) AS data_emissao, " +
    "Right( v.data_vencto,2) & '/' & MID( v.data_vencto,5,2) &  '/' &  Left( v.data_vencto,4) AS data_vencto, " +
    "id_usuario, desconto, acrescimo, liquido, bruto " +
          " FROM  vendas " + 
          " WHERE id_venda = " + getIdVenda() ;

    rs = connect.Conexao.execQuery(SQL);
    return rs;
     
}*/


///////////////////////////////////////
//              carregaVenda        ///
///////////////////////////////////////
public ResultSet carregaVenda(){

    String SQL = " " +
    " SELECT v.id_venda, cli.id_cliente, cli.nome AS cliente, cli.Endereco, " + 
    "Right( v.data_emissao,2) & '/' & MID( v.data_emissao,5,2) &  '/' &  Left( v.data_emissao,4) AS data_emissao, " +
    "Right( v.data_vencto,2) & '/' & MID( v.data_vencto,5,2) &  '/' &  Left( v.data_vencto,4) AS data_vencto, " +
    " v.acrescimo, " + 
    " v.desconto, v.liquido, v.bruto, u.id_usuario, u.nome " +
    " FROM ((vendas AS v INNER JOIN clientes AS cli " + 
    "                       ON v.id_cliente  = cli.id_cliente)" + 
    "                    INNER JOIN usuarios AS u " + 
    "                       ON v.id_usuario= u.id_usuario)" ;

    if(getIdVenda() != 0){
       SQL +=" WHERE v.id_venda = " + getIdVenda();
    }   
    else{
       SQL +=" WHERE v.id_venda <> " + + getIdVenda();
    }

    if(getIdCliente() != 0){
       SQL +=" AND v.id_cliente = " + getIdCliente();
    }   
    else{
       SQL +=" AND v.id_cliente <> " + + getIdCliente();
    }

    if(!getInicio().equals("") && !getFinal().equals("")){
       SQL +=" AND v.data_emissao BETWEEN " + getInicio() +
             "                        AND " + getFinal();
    }

    rs = connect.Conexao.execQuery(SQL);
    return rs;
     
}
Criado 15 de dezembro de 2004
Ultima resposta 16 de dez. de 2004
Respostas 4
Participantes 4