Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ricardo coelho designer

não mostrar codigo igual

Recommended Posts

Boa noite pessoal, estou quebrando a cabeça com um código, mas não estou conseguindo achar a solução que é:

 

Estou com um código que pego os dados de 2 tabelas, sendo que a tabela1 tem 2 dados que quando visualizo as informações da tabela 2 esses dados não pode visualizar mais ou menos assim:

 

TBL1

- 392

- 395

 

TBL2 - (O 392 e 395 exitem na tabela 2 mas não são visualizados quando relacionados com a TBL1

- 391

- 393

- 394

 

O código que estou usando é esse abaixo

Set Convagas = Server.CreateObject("ADODB.Connection")
Convagas.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\home\vitrinenews.mdb;"
Set RS = Server.CreateObject("ADODB.Recordset")
SQLStmt = "SELECT * FROM TBLnewscancela order by datahora desc"
RS.Open SQLstmt,Convagas
 While Not RS.EOF
autorizado = RS("menucodigo")
RS.MoveNext
Wend
RS.close

'Cria conexao com o banco de dados, informe corretamente o caminho do banco de dados
Set Conexao = Server.CreateObject("ADODB.Connection")
Conexao.Open "Data Source=c:\home\vitrineenvia.mdb;Provider=Microsoft.Jet.OLEDB.4.0;"
'Captura o email dos registros da tabela pela ordem alfabética				  WHERE quantidade ="&quantidade
ComandoSQL = "SELECT Distinct Cademail, menucodigo FROM cadastresegeral where menucodigo = "&autorizado
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.CursorLocation = 3
objRS.CursorType = 2
objRS.LockType = 1
objRS.CacheSize = registros_por_pagina
objRS.Open ComandoSQL, Conexao,,, &H0001
objRS.PageSize = registros_por_pagina
status = ""

Compartilhar este post


Link para o post
Compartilhar em outros sites

sua duvida é de SQL. Acredito que usando um NOT IN resolva, seria mais ou menos o que segue abaixo

SELECT 
t1.idTabela1
FROM tabela1 t1
WHERE NOT IN (SELECT t2.idTabela2 FROM tabela2 t2)

 

se entendi errado, caso queira trazer todos os registros da tabela1 e da tabela2 sem que eles repitam, use o UNION

Compartilhar este post


Link para o post
Compartilhar em outros sites

dependendo da situação você pode tentar o NOT EQUAL, a diferença de performance é pequena.

Compartilhar este post


Link para o post
Compartilhar em outros sites

sua duvida é de SQL. Acredito que usando um NOT IN resolva, seria mais ou menos o que segue abaixo

SELECT 
t1.idTabela1
FROM tabela1 t1
WHERE NOT IN (SELECT t2.idTabela2 FROM tabela2 t2)

 

se entendi errado, caso queira trazer todos os registros da tabela1 e da tabela2 sem que eles repitam, use o UNION

Jonathan, em primeiro lugar muito obrigado pela resposta, tentei fazer o seguinte sql, mas acho que não entendi direito o que é o que abaixo segue o código

 

strSQL = "SELECT cadastresegeral.menucodigo FROM cadastresegeral WHERE NOT IN (SELECT menucodigo.TBLnewscancela FROM menucodigo)"

Lembrando que tenho:

Tabelas

- TBLnewscancela

+ menucodigo (coluna com os códigos que filtram os e-mails que não podem ser visualizados)

 

- TBLcadastresegeral (Essa tabela é que vai mostrar os dados menos os que estão na TBLnewscancela.

+ MenuCodigo

+ Email

 

Ex.:

TBLnewscancela TBLcadastresegeral - Páginaasp mostra o resultado

+Menucodigo + Menucodigo 4

1 1

2 2

3 3

4

 

Espero ter conseguido explicar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faltou indicar o campo da restrição.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.