Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde!
Amigos
Estou precisando realizar um Select em duas tabelas. Encontrei aqui no Forum um exemplo mas é com tabelas que tem campos iguais. No meu caso as tabelas são diferentes contendo apenas um campo que é igual.
A minha necessidade é buscar na Tabela A (que tem O.S. Pendente) e comparar com a Tabela B (que tem O.s. trabalhada) retornando todas as O.S. que ainda não foram fechadas.
este é o exemplo que encontrei para tabelas com campos iguais:
SELECT codigo,titulo,texto,img,logo, 1 AS tabela FROM artigos
UNION
SELECT codigo,titulo,texto,img,logo, 2 AS tabela FROM dicas
UNION
SELECT codigo,titulo,texto,img,logo, 3 AS tabela FROM noticias
>
faz um INNER JOIN,você precisa ter uma relacionamento entre as tabelas, na verdade, a impôrtancia de uma modelagem de dados bem definida até os mínimos detalhes, como os campos de relacionamentos, um velho ditado diz, que um relacionamento bem definido é a alma do aplicativo, pois daí saem todas as consultas e operações com o banco, influenciando diretamente na otimização e performance do aplicativo
Xan,
Você conseguiria um exemplo de INNER JOIN? As duas tabelas têm um campo comum. No exemplo que mostrei (parece que foi você quem o postou) teria como fazer no caso que citei?
Obrigado pelo retorno.
existem exemplos no forum
mas ai vai
strSQL = "SELECT Categoria.Categoria, Produtos.Produto, Produtos.VRL_Unitario "
strSQL = strSQL & "FROM Categoria "
strSQL = strSQL & "INNER JOIN Produtos "
strSQL = strSQL & "ON Categoria.COD_Categoria = Produtos.COD_Categoria "
strSQL = strSQL & "ORDER BY Categoria.Categoria, Produtos.Produto"
>
existem exemplos no forum
mas ai vai
strSQL = "SELECT Categoria.Categoria, Produtos.Produto, Produtos.VRL_Unitario "
strSQL = strSQL & "FROM Categoria "
strSQL = strSQL & "INNER JOIN Produtos "
strSQL = strSQL & "ON Categoria.COD_Categoria = Produtos.COD_Categoria "
strSQL = strSQL & "ORDER BY Categoria.Categoria, Produtos.Produto"
Xan,
Desculpe mas não consegui. Poderia esclarecer umas dúvidas?
Minhas tabelas/campos idênticos são:tb_pendentes_beta.ID_CHAMADO e prod_bo_online.id_clarify.
Como elas ficariam no código?
O código que tentei fazer tem essa estrutura:
set objconn=server.createobject("adodb.connection")
conexao_ligacoes = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db_trein.mdb") & ""
objconn.Open conexao_ligacoes
Set rstCliente = objConn.Execute("SELECT tb_pendentes_beta.ID_CHAMADO, prod_bo_online.id_clarify")
SQL = sSQL
obrigado.
no caso como as tabelas são relacionadas o correto é o uso de INNER JOIN como foi sugerido
veja na sua tabela os nomes dos campos e tabelas que precisa e substitua
SELECT TABELA01.CAMPO01, TABELA01.CAMPO02, ..., TABELA02.CAMPO01, TABELA02.CAMPO02, ... FROM TABELA01 INNER JOIN TABELA02 ON TABELA01.CAMPOQUESERELACIONA = TABELA02.CAMPOQUESERELACIONA
faz um INNER JOIN,você precisa ter uma relacionamento entre as tabelas, na verdade, a impôrtancia de uma modelagem de dados bem definida até os mínimos detalhes, como os campos de relacionamentos, um velho ditado diz, que um relacionamento bem definido é a alma do aplicativo, pois daí saem todas as consultas e operações com o banco, influenciando diretamente na otimização e performance do aplicativo