Ir para conteúdo
Fórum Script Brasil
  • 0

Tabelas


Rinaldo

Pergunta

9 respostass a esta questão

Posts Recomendados

  • 0

cara, dei uma pesquisada ae e encontrei isto ae

A condicional ON é qualquer condição da forma que pode ser usada em uma cláusula WHERE.

Se não houver registros coincidentes para a tabela a direita da parte ON ou USING em um LEFT JOIN, uma linha com NULL atribuído a todas as colunas é usada para a tabela a direita. Você pode usar este fato para encontrar registro em uma tabela que não houver contrapartes em outra tabela

mysql> SELECT tabela1.* FROM tabela1

    ->        LEFT JOIN tabela2 ON tabela1.id=tabela2.id

    ->        WHERE tabela2.id IS NULL;

Este exemplo encontra todas as linhas em tabela1 com um valor id que não está presente em tabela2 (isto é, toda as linhas em tabela1 sem linha correspondente em tabela2). Assume-se que tabela2.id é declarada NOT NULL. See Secção 5.2.7, “Como o MySQL Otimiza LEFT JOIN e RIGHT JOIN”.

fonte: http://dev.mysql.com/doc/mysql/pt/join.html

qualquer coisa posta ae!

abraços

Link para o comentário
Compartilhar em outros sites

  • 0
RESPOSTA RÁPIDA.

Vou trabalhar em cima desta resposta e te retorno depois.

Muito obrigado.

Olá Rinaldo, faça assim:

select * from tabela1 tb

where not EXISTS (select <coluna onde esta os dados> from tabela2 where <coluna onde esta os dados> = tb.<coluna onde esta os dados>)

Exemplo:

select * from teste te

where not EXISTS (select fone from testee where fone = te.fone)

Abraços

Lisandro Oliveira

Link para o comentário
Compartilhar em outros sites

  • 0

complementando o problema, para finalizar, gostaria de que o SQL selecionasse todos os dados da tabela 2 com data = "x" e ai sim verificasse se existe coincidente na tabela 1.

O código está desta forma;

SQL = "SELECT produtos.* FROM produtos LEFT JOIN dados ON produtos.produto=dados.produto WHERE dados.produto IS NULL"

produtos é tabela1 e dados é a tabela2

Resumindo.

Gostaria que verificasse na tabela 2 com a data de hoje se o produto da tabela 1 já entrou. Se não entrou, lista, se entrou, não lista.

Eu tenho o campo "produto" em comum nas 2 tabelas e tenho o campo "data" na tabela "dados

Link para o comentário
Compartilhar em outros sites

  • 0

Na realidade, não.

SQL = "SELECT produtos.* FROM produtos LEFT JOIN dados ON produtos.produto=dados.produto WHERE dados.produto IS NULL and dados.data=#01/01/05#"

na tabela produtos tenho somente o campo produto com os dados teste1,teste2, teste3, teste4, teste5 e teste6

na tabela dados tenhos os campos produto e data

supondo que na tabela dados tivesse os registros teste1, teste2 e ambos com a data 01/01/05, deveria aparecer os dados de teste3, teste4, teste5 e teste6, correto??

Não funciona.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest select + simples

select * from produtos where prod_id NOT IN (select produtos.prod_id from produtos inner join dados on produtos.prod_id=dados.prod_id)

você está negando a verdade, e quanto à data, essa sintaxe de where data=#01/01/05# tenha certeza que o ano tem 2 digitos na base de dados (pelas # acredito que seja access) caso ainda não funcione, tente assim:

select * from produtos where prod_id NOT IN (select produtos.prod_id from produtos inner join dados on produtos.prod_id=dados.prod_id) AND YEAR(prod_data)=05 AND MONTH(prod_data)=01 AND DAY(prod_data)=01

assim tem que funcionar!!!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...