Samir
-
Total de itens
11 -
Registro em
-
Última visita
Posts postados por Samir
-
-
Desculpa eu me expressei mal, na verdade aquele 1 e 2 ao lado são os índices,
ID | Nome
2 | Maria
IDc | Cor
2 | vermelho
Então, então se existe ID=IDc isso quer dizer que a cor de Maria é vermelho, certo? O que estou tentando fazer, evitando outra pesquisa ao banco é fazer uma JOIN que busque os dados de Maria, mesmo que ela não tenha definido o email, pois como no exemplo que dei, ela não tem email cadastrado, então a JOIN não encontra referência de índice, ID=IDe é NULL e a query não me retorna o nome nem a cor de Maria.
A menos que, o que estou pensando é inviável, e terei que fazer uma consulta ao banco com os dados de nome e cor, e posteriormente outra consulta trazendo os dados de email, se tiver email cadastrado.
Se o meu primeiro raciocínio não tiver solução, vou precisar fazer outra consulta mesmo, poderias me ajudar com esta solução? Qual delas é a viável?
Pois pelo que eu entendi do seu entendimento, eu só posso usar JOIN se existir atributos que satisfaçam a pesquisa nas tabelas, não contendo os atributos, vou ter de fazer outra pesquisa a tabela.
Muito obrigado
-
Oi Gustavo,
Tenta colocar se é crescente ou decrescente, pois para mim, parece certo a sua query. Tenta o seguinte:
SELECT * FROM judo.atletas ORDER BY agremiacao ASC;
-
Oi, boa noite!
Estou com uma dúvida que para não estender demais na pergunta eu vou simplificar a dúvida em 3 tabelas (mais que isto só muda o trabalho, para entender 3 esta beleza).
Tenho 3 tabelas,
( A ) TabelaA campos ÍNDICE e NOME
1 - joão
2 - maria
( B ) TabelaB campos ÍNDICE e COR
1 - amarelo
2 - vermelho
( C ) TabelaC campos ÍNDICE e EMAIL
1 - joao@joao.net
Como podem notar a maria não tem email cadastrado, e não gostaria de ter de cadastrar somente o índice com campo email NULL. Fazendo a SELECT tanto com LEFT JOIN, LEFT OUTER JOIN, RIGHT JOIN, INNER JOIN ou somente JOIN o resultado é o mesmo (com ou sem DISTINCT, dei tiro para tudo que foi lado).
SELECT DISTINCT A.*, B.*, C.* FROM A
LEFT JOIN B ON A.id=B.id
LEFT JOIN C ON A.id=C.id
ORDER BY A.nome ASC
O resultado é sempre JOÃO e seus dados, eu gostaria de, por exemplo neste caso, ter os dados de MARIA mesmo que a condição do ON no EMAIL seja NULL ou índice inexistente.
Alguém poderia me ajudar?
Desde já,
Muito obrigado
-
Sim Stoma, funcionou muito bem, era isso mesmo, o JOIN (INNER, LEFT......) parece complicado a primeira vista, mas depois que você entende, nossa te poupa muitos acessos ao banco de dados!
Valeu de novo!
-
Muito obrigado Denis Courcy!
-
Estou com uma dificuldade em encontrar informações sobre INNER JOIN e JOIN, digo, informações básicas tem...
Tenho uma tabela que contém o índice tipo:
ÍNDICE e NOME
Em outra tabela eu tenho o índice para poder cruzar a referência (ÍNDICE) e outro campo (EMAIL)
até ai tudo bem, usando um INNER JOIN entre as duas tabelas eu consigo o resultado numa boa, porém, ao adicionar mais de um email para o mesmo índice, eu vou ter mais de uma vez todos os resultados, exemplo de um resultado de pesquisa:
ID | NOME | EMAIL
1 - Samir - samir@dominio.com
1 - Samir - samir@dominio2.com
2 - João - joao@dominio.com
Como eu poderia fazer para limitar esta pesquisa, a pegar apenas 1 resultado da tabela email?
Eu tentei com o LIMIT, porém só é possível usar o LIMIT após o cruzamento das tabelas, e com isto o LIMIT irá limitar todos os meus resultado e não apenas a tabela email; pode ter ficado estranho o que eu escrevi, qualquer coisa é só dizer que eu posto mais detalhes.
Muito obrigado
Pessoal, desculpa eu sei que postei no lugar errado, eu estava com o problema na cabeça que acabei nem postando corretamente o post.
O link do local correto:
http://scriptbrasil.com.br/forum/index.php?showtopic=155273
Obrigado e desculpa o transtorno!
-
Estou com uma dificuldade em encontrar informações sobre INNER JOIN e JOIN, digo, informações básicas tem...
Tenho uma tabela que contém o índice tipo:
ÍNDICE e NOME
Em outra tabela eu tenho o índice para poder cruzar a referência (ÍNDICE) e outro campo (EMAIL)
até ai tudo bem, usando um INNER JOIN entre as duas tabelas eu consigo o resultado numa boa, porém, ao adicionar mais de um email para o mesmo índice, eu vou ter mais de uma vez todos os resultados, exemplo de um resultado de pesquisa:
ID | NOME | EMAIL
1 - Samir - samir@dominio.com
1 - Samir - samir@dominio2.com
2 - João - joao@dominio.com
Como eu poderia fazer para limitar esta pesquisa, a pegar apenas 1 resultado da tabela email?
Eu tentei com o LIMIT, porém só é possível usar o LIMIT após o cruzamento das tabelas, e com isto o LIMIT irá limitar todos os meus resultado e não apenas a tabela email; pode ter ficado estranho o que eu escrevi, qualquer coisa é só dizer que eu posto mais detalhes.
Muito obrigado
-
Oi Denis,
Bom e velho Google hehehe,
Tudo certo consegui aqui, muito obrigado,
Samir Hanna
Denis, Muito Obrigado
A sua resposta está muito melhor do que eu encontrei nos DOCs do MySQL,
Valeu mesmo,
Abraço!
-
Oi Denis, na verdade eu li os posts acima, algumas coisas eu não compreendi muito bem, inclusive sobre o comando que você respondeu para mim;
Eu vi a sua referência ao código no 8º post, mas não compreendi esta linha de comando,
UPDATE <nome-da-tabela-temporária> SET <nome-do-campo> = CONCAT(substring(<nome-do-campo>, x1, y1), ';', substring(<nome-do-campo>, x2, y2), ';',...,substring(<nome-do-campo>, xn, yn));
Você poderia me explicar melhor sobre esta linha acima? Vejo que nesta linha você faz referência ao nome-do-campo, mas não estou entendendo onde eu vou conseguir que seja inserido uma quebra de campo entre na linha abaixo:
0000000000074100000000741000000007200000000072500000000730
da seguinte forma
000000000007410;00000007410;00000007200;00000007250;00000007300
Desculpa a minha falta de experiência com banco de dados, e muito obrigado pela sua resposta!
Samir Hanna
-
Oi, gostaria de saber se alguém conhece uma solução em Linux ou Unix para a seguinte situação!
Vou receber diariamente um arquivo "aparentemente" sem formato, mas é um TXT, onde recebi o manual dos campos onde marca-los para o EXCEL converter esse arquivo em CSV, com o EXCEL eu consigo resolver meu problema, mas o processo se torna muito manual, já que terei de colocar uma pessoa para abrir o arquivo no excel, colocar 35 marcadores de colonas entre os 450 caracteres por linha deste arquivo que normalmente tem mais de 5.000 linhas.
Atualmente estamos fazendo da forma lenta e nada prática, com o excel mesmo, já pensei em fazer alguma coisa como: ler cada caractere por linha e inserir um ; nas colunas pré-determinadas, já que o arquivo é contínuo, como o exemplo abaixo;
0202LOSIL IS 0000000000074100000000741000000007200000000072500000000730=000000000000073000000
007390018800000000024000000000000173916 X000PY00000000000XD0000000R41070 0000000000 0013400000001465000000014700005300000000017690000000000259565 10000HBL000000000000000134 73643XC 0009847 000493486 03940348500
Desde já, muito obrigado,
Samir
Instalar MySQL no Windows 2003
em MySQL
Postado · Editado por Samir
Existem muitos tutoriais na web falando sobre o assunto, acredito que não seja difícil, pois sabe como é windows, tudo é fácil e falho demais.
Como este:
http://www.pinceladasdaweb.com.br/blog/201...ows-7-vista-xp/
Mas pelo que eu vi é do tipo, Download, Avançar, Avançar, Avançar...
Mas de repente, faça o Download do MySQL e poste aqui a sua dúvida.
Achei outro link
http://www.guiadohardware.net/tutoriais/ap...-mysql-windows/