Select em duas Tabelas ao mesmo tempo

18/12/2004

157

Galera preciso de gerar um relatório sendo que tenho 2 tabelas sendo uma espelho da outra, dai gostaria de fazer o critério para as duas tabelas pesquisando infomações das duas ao mesmo tempo, o detalhe é que as duas tabelas têem os mesmos campos... sendo a chave primaria diferente.

Alguem pode me ajudar?


Responder

Post mais votado

19/12/2004

Não sei se entendi sua pergunta mas, se é só o select pra duas tabelas
voce faria assim

Select tabela1.campo1, tabela1.campo2, tabela1.campo3, tabela2.campo1, tabela2.campo2, tabela3.campo3 from tabela1, tabela2
where (condição que voce quer)

se os campos forem iguais em uma query por exemplo ele ira renomear o campo da segunda tabela acrecentando o 1 exemplo o campo1 da tabela1 ficaria campo1
da tabela2 ficaria campo11
se fosse 3 tabelas o campo ficaria nomeado como campo12


Responder

Mais Posts

19/12/2004

Adilsond

select t1.campo1,
       t1.campo2,
       t1.campo3
from tabela1 t1
where t1.campox = condição para a tabela 1
union all
select t2.campo1,
       t2.campo2,
       t2.campo3
from tabela1 t2
where t2.campox = condição para a tabela 2
order by 2,3 // ordenando o resultado pelas colunas 2 e 3



Responder

19/12/2004

Adilsond

Onde se le ´from tabela1 t2´, o correto é ´from tabela2 t2´

select t1.campo1,
       t1.campo2,
       t1.campo3
from tabela1 t1
where t1.campox = condição para a tabela 1
union all
select t2.campo1,
       t2.campo2,
       t2.campo3
from tabela1 t2
where t2.campox = condição para a tabela 2
order by 2,3 // ordenando o resultado pelas colunas 2 e 3



Responder

18/12/2014

Orleans

Boa noite Prezados,

sou Novato em DB, mas preciso de ajuda com firebird:

tenho Tabela 1
Tabela 1.numero
Tabela 1.qtd
Tabela 1.codigo
Tabela 2
Tabela 2.numero
Tabela 2.emissao

eu preciso juntar o relatório pra somar as quantidades (qtd) do mesmo codigo, e por data, só que as tabelas não tem relação,
pois a data de emissao esta na T2 e a Quantidade e Codigo esta na T1.

Desculpe minha ignorância, mas estou iniciando agora.

Desde já agradeço a atenção de todos.
Responder

19/12/2014

Renato Rubinho

Buenos,

Segue comando, caso a relação entre as tabelas seja o NUMERO.

SELECT
TAB1.CODIGO,
SUM(TAB1.QTD) QTD_TOT
FROM
TABELA1 TAB1
LEFT OUTER JOIN TABELA2 TAB2 ON TAB1.NUMERO = TAB2.NUMERO
WHERE 
TAB2.EMISSAO BETWEEN '01.12.2014' AND '19.12.2014'
GROUP BY TAB1.CODIGO
ORDER BY TAB1.CODIGO


Abraççç,
rrubinho
Responder

16/03/2016

Thiago Santos

bom dia dia eu possuo uma tabela de pacientes que possuem os campos id_medico, id_convenio e quero no relatório que apareça o nome do medico e do convenio.

como que faço isso uso firebird 2.5, delphi xe7 e report builder

me ajudem ai galera
Responder

16/03/2016

Mateus Ribeiro

Bom dia Thiago! Usando o INNER/LEFT JOIN vc consegue ligar mais de uma tabela para obter os respectivos resultados. Conforme suas informações, seque o SQL que montei!

SELECT P.NOME_PACIENTE,
       M.NOME_MEDICO,
       C.DESCRICAO_CONVENIO
  FROM TABELA_PACIENTE P  
  LEFT JOIN TABELA_MEDICO M
    ON M.ID_MEDICO = P.ID_MEDICO
  LEFT JOIN TABELA_CONVENIO C
    ON C.ID_CONVENIO = P.ID_CONVENIO


Qualquer dúvida só perguntar. Abraços!
Responder

16/03/2016

Thiago Santos

problema resolvido valeu galera
Responder

17/05/2016

Crislem Joan

Ola galera, tenho uma tabela de questões e outra tabela de alternativas, meu objetivo é imprimir:
id_questao1
depois
id_alternativa1
proxima questão
id_questao2
depois
id_alternativa2
e assim sucessivamente.
Porém o código que estou usando esta imprimindo a 1° questão e todas as alternativas registradas na tabela alternativas.

trecho do codigo:

$query = "SELECT descricao FROM questoes ";
$resultado = mysql_query($query,$conexao);
$query = "SELECT altern_1, altern_2, altern_3, altern_4 FROM alternativa";
$resultado2 = mysql_query ($query, $conexao);

while ($linha = mysql_fetch_array($resultado)) {
echo $linha['descricao'];
echo "<br><br>";

while ($linha2 = mysql_fetch_array($resultado2)){?>
<input type="radio" name="altern" value="a"/><?php echo $linha2['altern_1']; ?>
<input type="radio" name="altern" value="b"/><?php echo $linha2['altern_2']; ?>
<input type="radio" name="altern" value="c"/><?php echo $linha2['altern_3']; ?>
<input type="radio" name="altern" value="d"/><?php echo $linha2['altern_4'];
}

}


por favor alguém ai pra dar uma força.
Responder

21/05/2016

Miguel Junior

Boa tarde, Crislem Joan.

As tabelas questão e alternativas têm algum relacionamento no seu banco de dados? Se tiver relacionamento, uma alternativa de solução é :

$query = "SELECT descricao FROM questoes
INNER JOIN alternativa on alternativa.id_questao = questoes.id_questao ";

$resultado = mysql_query($query,$conexao);

while ($linha = mysql_fetch_array($resultado)) {
echo $linha['descricao'];
echo "<br><br>";
<input type="radio" name="altern" value="a"/><?php echo $linha2['altern_1']; ?>
<input type="radio" name="altern" value="b"/><?php echo $linha2['altern_2']; ?>
<input type="radio" name="altern" value="c"/><?php echo $linha2['altern_3']; ?>
<input type="radio" name="altern" value="d"/><?php echo $linha2['altern_4']; ?>
}
Responder

13/06/2016

Mael

Bom, como faço para consultar 2 tabelas, exemplo:

table1= Character
colunas= accountid, name, class
*obs1: na coluna class eu tenho por exemplo: 2, 5, 7, 17, 19, 25.

table2= rankduel
colunas= accountid, accountname, winscore
obs2: na coluna winscore ficam varios numeros variados e até identicos para os diversos accountname

Eu preciso escolher o "top 1 name, winscore" mas que ele seja o 17 da coluna class ou 19 ou outro qualquer.

espero q de pra entender.
Responder

30/01/2017

Andrea Quinole

Oi colegas, graças a este post consegui juntar duas tabelas. Por acaso é possível que a tabela 2 retorne com sinal negativo?

grande abraço
Responder
Olá pessoal... sou novo em sql e preciso montar um indicador de manutenção que conte as Ordens de Serviço com o serviços selecionado como FALSA FALHA. A tabela que contém essa coluna com registros de tipo de serviço é produtoservico e a coluna que registra os serviços é cod_produtoservico_serial, onde o código é 1217.
No postgre consegui iniciar a query:
SELECT * FROM
produtoservico
WHERE cod_produtoservico_serial = '1217';

mas eu preciso jogar no sistema analisando somente o setor e o período que eu quero, mas estes estão em outra tabela (tabela os e colunas cod_empresa_serial e datafechamento
Responder

25/07/2017

Ana

Estou precisando de ajuda em fazer consultas no banco de dados, alguém poderia me ajudar? Por favor...
Responder
Bom dia, sou novo aqui fiz um treinamento há 2 anos e só agora tive oportunidade de utilizar o SQL
Tenho duas fontes e preciso fazer uma consulta com uma condição em cada fonte.
Quem puder auxiliar eu agradeço.
Segue alguns dados.

select
a.instalacao,
nome_unidade,
campo3,
campo4,
b.Med12meses

from [PR_ESTRATEGIA].dbo.base_ssa_resumo a

LEFT JOIN [PR_ESTRATEGIA].[dbo].[base_resumo_consumo] b

on a.instalacao = b.instalacao

Primeira condição
where nome_unidade like ''SUL%''

Segunda condição
where Med12meses >= 350 or Med12meses <= 600


Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira