-
Total de itens
3.089 -
Registro em
-
Última visita
Tudo que Denis Courcy postou
-
(Resolvido) Consultar valores diferentes entre duas tabelas
pergunta respondeu ao CID_AGUIAR de Denis Courcy em MySQL
Do que foi explicado anteriormente, o que você não entendeu? São dois conjuntos de dados. o conjunto tabela_A e o conjunto tabela_B. Para listar todos os elementos do conjunto tabela_A e todos os elementos do conjunto tabela_B que sejam iguais aos elementod do conjunto tabela_A, usa-se o LEFT JOIN. Veja novamente o exemplo no post anterior. -
Não. O distinct mostra um de cada, sem repetição, não importando se aparece uma ou mais vezes. Já entendi o que você quer. Seria assim: Criação e carga da tabela create table tabela_a( campo int)engine=myisam; Insert into tabela_a(campo) values (1),(1),(1),(2),(3),(4),(4),(4),(5),(6),(7),(7); Seleçãoselect campo from tabela_a group by campo having count(campo)>1 Resultadocampo ------- 1 4 7
-
Creio que ninguém entendeu o que você quer. Nem eu. O distinct serve para isolar um elemento de cada em um conjunto. Por exemplo: Na Tabela_A o campo c possui os seguintes valores: {1,1,1,2,3,4,4,4,5,6,7,7} Usando o distinct na seleção, assim: SELECT DISTINCT c FROM Tabela_A você teria como resultado:C --- 1 2 3 4 5 6 7 Sabendo que a tabela_A possui 12 registros, uma contagem com distinct seria assim:SELECT count(DISTINCT c) FROM Tabela_A e teria o resultado:count(DISTINCT c) ----------------------- 7 O que mais disso você quer saber?
-
(Resolvido) Consultar valores diferentes entre duas tabelas
pergunta respondeu ao CID_AGUIAR de Denis Courcy em MySQL
Seja a tabela_A = {1,2,3,4,5} e a tabela_B = {1,2,3,4,6}. O LEFT JOIN entre tabela_A e tabela_B trará todos os elementos de tabela_A e os elementos de tabela_B que forem iguais aos elementos de tabela_A SELECT A.cod AS A, B.cod AS B FROM tabela_A A LEFT JOIN tabela_B B ON B.cod = A.cod O resultado seráA B 1 1 2 2 3 3 4 4 5 NULL -
(Resolvido) Consultar valores diferentes entre duas tabelas
pergunta respondeu ao CID_AGUIAR de Denis Courcy em MySQL
Para saber quais codigos estão em ambas tabelas (o conjunto interseção de A e B) você tem: SELECT DISTINCT A.codigo FROM tabela_A A INNER JOIN tabela_B B ON B .codigo = A.codigo Para saber o resultado de A - B nos conjuntos acima, teremos:SELECT A.codigo FROM tabela_A A WHERE A.codigo NOT IN (SELECT B.codigo FROM tabela_B B) -
Não entendi o que você quer. Se tem relação com o código que você enviou ou não; Ou se você que um select do zero. Arrumei seu código. Agora fica mais fácil de entendê-lo e já faz o que você quer. SELECT DISTINCT * FROM USUARIO_IDENTIDADE ui INNER JOIN USUARIO_ENDERECO ue ON ue.USER_COD = ui.USER_COD INNER JOIN USUARIO_PROFISSIONAL up ON up.USER_COD = ui.USER_COD INNER JOIN USUARIO_CONT_PRIMARIO ucp ON ucp.USER_COD = ui.USER_COD INNER JOIN CIDADES cid ON cid.CID_ID = ue.CID_ID INNER JOIN EMPRESA_IDENTIDADE ei ON ei.EMP_COD = u.EMP_COD INNER JOIN LOGIN l ON l.USER_COD = ui.USER_COD INNER JOIN USUARIO u ON u.USER_COD = ui.USER_COD INNER JOIN ESTADOS e ON e.EST_ID = cid.CID_UF LEFT JOIN BAIRROS b ON b.BAI_ID = ue.BAI_ID WHERE ui.USER_COD = '$user_cod' AND ui.USER_I_DATAMOD = (SELECT max(USER_I_DATAMOD) FROM USUARIO_IDENTIDADE ui2 WHERE ui2.USER_COD = ui.USER_COD) AND ue.END_U_DATAMOD = (SELECT max(END_U_DATAMOD) FROM USUARIO_ENDERECO ue2 WHERE ue2.USER_COD = ue.USER_COD) AND up.PROF_DATAMOD = (SELECT max(PROF_DATAMOD) FROM USUARIO_PROFISSIONAL up2 WHERE up2.USER_COD = up.USER_COD) AND ucp.CONT_P_DATAMOD = (SELECT max(CONT_P_DATAMOD) FROM USUARIO_CONT_PRIMARIO ucp2 WHERE ucp2.USER_COD = ucp.USER_COD) AND ei.EMP_I_DATAMOD = (SELECT max(EMP_I_DATAMOD) FROM EMPRESA_IDENTIDADE ei2 WHERE ei2.EMP_COD = ei.EMP_COD)
-
fazer busca em 2 tabelas na mesma query
pergunta respondeu ao Guilherme Toneloto de Denis Courcy em MySQL
Atributo é o mesmo que campo ou coluna. No 1º ano do segundo grau é relembrado e ensinado sobre o principio de relacionamentos e conjuntosRelações univocas, biunívocas, etc. Está contido, pertence, não pertence, não está contido, contém, etc. Leia sobre normalização de tabelas. Aconselho a leitura deste livro: Sistemas de Bancos de Dados -
O que você precisa é inserir a primeira e a última data. Inserir as demais é besteira. É perda de tempo, de processamento e de espaço em disco.
-
Sim. terá que consultar a tabela filha.Esta tabela filha, na verdade é a tabela pai. Pois é o lado um do relacionamento um para muitos entre departamento e clientes. Um departamento pode ter muitos clientes e muitos clientes pertencem a um departamento (conforme você criou) Não. pois você ferirá o principio de normalização de tabelas.Imagine se o nome do departamento for trocado. Vai ter que trocar em N clientes? Sim. É assim que as pessoas que trabalham direito fazem.O princípio é o mesmo do descrito acima.
-
fazer busca em 2 tabelas na mesma query
pergunta respondeu ao Guilherme Toneloto de Denis Courcy em MySQL
Você só vai conseguir juntar as duas tabelas em uma única busca se houver atributos em comum para que elas possam fazer join. Lembre-se das aulas de teoria de conjuntos do (6º ano primeiro grau). Trabalhar com bancos de dados nada mais é que aplicar de forma real o que você aprendeu em matemática na teoria. -
Sim. Crie indice fulltext e pesquise por ele. É muio mais eficiente que o LIKE. É o sistema que o Google e diversas outras empresas de busca usam.
-
Recuperar o nome do usuário que criou um determinada tabela em meu ban
pergunta respondeu ao Mario Pessoa de Denis Courcy em MySQL
Não há este tipo de informação no MySQL. Nem no INFORMATION_SCHEMA, nem no MySQL. -
Oi, 'Fernando_mcunha' Você não pode comparar um campo com NULO usando = ou <> (igual ou diferente). A comparação correta é com IS NULL ou IS NOT NULL. Exemplo: campo IS NULL campo IS NOT NULL. Veja o Manual do MySQL para mais detalhes.
-
Movendo MySQL -->> PHP
-
Com respeito ao uso do mysqldump e do mysql.exe, sim. Aliás, a diferença está no uso de storages procedures, funções, triggers e schedulle que não tem na versão 4.1.
-
Sua select não deveria ser:SELECT * FROM reserva WHERE SALA = 1 AND DATA_INICIO >= '2010-10-05' AND DATA_FIM <= '2010-10-05' AND ((HORA_INICIO BETWEEN '08:00:00' AND '10:00:00') OR (HORA_FIM BETWEEN '08:00:00' AND '10:00:00')) Ou seja o horário igual a 8:00:00 em vez de 9:00:00? O sql correto deveria ser sem usar o BETWEEN. Assim:SELECT * FROM reserva WHERE SALA = 1 AND DATA_INICIO >= '2010-10-05' AND DATA_FIM <= '2010-10-05' AND HORA_INICIO <= '09:00:00' AND HORA_FIM >= '10:00:00'
-
Você encontra aqui: Manuais e Banco para Baixar Para copiar usando interface gráfica, você pode usar o SQLYOG Download: SQLyog Community Edition - 8.61 Eu gosto muito da verão 5.13 beta2.
-
A cópia deve ser feita com o mysqldump e a restauração com o comando SOURCE dentro do aplicativo de linha de comando mysql.exe Veja o manual do mysql sobre como usar. Pesquise aqui no forum outros tópicos, comentados por mim, cobre backup e restauração debackup em mysql
-
Você pode usar os componentes BDE.Instalando nas máquinas clientes o BDE administrator e o MyODBC. Uma outra opção, que não precisa de instalar nada na máquina do cliente é usar os componentes Zeos que fazem conexão direta com o banco MySQL sem necessidade de ODBC.
-
SELECT u.id, u.nome, n.nome AS nivel FROM usuario u INNER JOIN nivel n ON n.id = u.nivel Os nomes das colunas do exemplo acima são os nomes das colunas constantes em seu exemplo
-
UPDATE <nomedatabela> SET <nomedocampo> = <nomedocampo> + 1
-
Oi, 'MalloryKnox' Só posso te responder com relação a SQL. Não entendo nada da linguagem que você usa. Seu exemplo fica assim: SELECT * FROM paciente p INNER JOIN encaminhamento e ON e.codigo_paciente = p.codigo_paciente WHERE p.idade = <seuvalor> AND e.droga = <seuvalor>
-
Algumas linguagens, tal como java, já traz um componente que você compila junto com seu programa e não precisa de mais nada. Outras você terá que usar o MyODBC para estabelecer a conexão com o banco. Trabalho com Delphi e ele tem ambas as opções. Não conheço a linguagem que você está usando, por isso não posso opinar sobre ela.
-
Oi, 'ESerra' Uma solução possível para seu problema seria com o uso de join. Assim: SELECT descricao FROM servicos s INNER JOIN geral g ON g.servicos = s.id WHERE g.id '1'
-
Não é este o problema. campo int amanho 11. Campo int unsigned tamanho 10. Mesmo que você force diferente, internamente será este tamanho. No caso dele o problema é a falta de um valor default. Se o campo é not null ele precisa ser inicializado por padrão.