dilema do meu mês em filtros
olha só galera, eu estou a mais de 1 mês neste problema:
veja esta consulta sql que uso em banco interbase:
Resultado:
como poderei fazer para que estes resultados que vem de outra tabela possa cair dentro deta minha consulta? independente da quantidade de registros desta outra tabela?
DISCIPLINA <> ´MATEMÁTICA - ALGEBRA´ and
DISCIPLINA <> ´MATEMÁTICA GEOMETRIA´ and
DISCIPLINA <> ´PORTUGUÊS - GRAMÁTICA´ and
DISCIPLINA <> ´PORTUGUÊS - TEXTO - REDAÇÃO´
explicando melho: ´MATEMÁTICA - ALGEBRA´ , ´MATEMÁTICA GEOMETRIA´ , ´PORTUGUÊS - GRAMÁTICA´ , ´PORTUGUÊS - TEXTO - REDAÇÃO´ é um resultado que fica em outra tabela como fazer para que estas strings caiam dentro da minha consulta acima?
Obrigado
Ramos
veja esta consulta sql que uso em banco interbase:
select distinct DISCIPLINA from NOTAS A
where ANO_LETIVO = ´2006´ and SERIE = ´6ª SÉRIE´ and TURMA = ´A´ and TURNO = ´TARDE´ and exists ( select distinct * from BOLETIM where COD_BOLE = A.COD_BOLE and MATRICULA = A.MATRICULA and ANO_LETIVO = ´2006´ and SERIE = ´6ª SÉRIE´ and TURMA = ´A´ and TURNO = ´TARDE´) and
DISCIPLINA <> ´MATEMÁTICA - ALGEBRA´ and DISCIPLINA <> ´MATEMÁTICA GEOMETRIA´ and DISCIPLINA <> ´PORTUGUÊS - GRAMÁTICA´ and DISCIPLINA <> ´PORTUGUÊS - TEXTO - REDAÇÃO´
order by DISCIPLINA
Resultado:
DISCIPLINA
==============================
CIÊNCIAS
EDUCAÇÃO ARTÍSTICA
EDUCAÇÃO FÍSICA
EDUCAÇÃO RELIGIOSA
GEOGRAFIA
HISTÓRIA
INFORMÁTICA
INGLÊS
LITERATURA
ÉTICA
como poderei fazer para que estes resultados que vem de outra tabela possa cair dentro deta minha consulta? independente da quantidade de registros desta outra tabela?
DISCIPLINA <> ´MATEMÁTICA - ALGEBRA´ and
DISCIPLINA <> ´MATEMÁTICA GEOMETRIA´ and
DISCIPLINA <> ´PORTUGUÊS - GRAMÁTICA´ and
DISCIPLINA <> ´PORTUGUÊS - TEXTO - REDAÇÃO´
explicando melho: ´MATEMÁTICA - ALGEBRA´ , ´MATEMÁTICA GEOMETRIA´ , ´PORTUGUÊS - GRAMÁTICA´ , ´PORTUGUÊS - TEXTO - REDAÇÃO´ é um resultado que fica em outra tabela como fazer para que estas strings caiam dentro da minha consulta acima?
Obrigado
Ramos
Erivando
Curtidas 0
Respostas
Aroldo Zanela
30/05/2006
Colega,
Se eu tiver entendido, basta unir as consultas com [b:1a0b5e9e00]union all[/b:1a0b5e9e00]. Senão, coloque a estrutura das tabelas e mais detalhes sobre o problema.
Se eu tiver entendido, basta unir as consultas com [b:1a0b5e9e00]union all[/b:1a0b5e9e00]. Senão, coloque a estrutura das tabelas e mais detalhes sobre o problema.
GOSTEI 0
Erivando
30/05/2006
[quote:6c79860798=´Aroldo Zanela´]Colega,
Se eu tiver entendido, basta unir as consultas com [b:6c79860798]union all[/b:6c79860798]. Senão, coloque a estrutura das tabelas e mais detalhes sobre o problema.[/quote:6c79860798]
No sistema aqui tem estas duas tabelas; tab. MATERIAS e tab. NOTAS de onde através destas duas gostaria de uma consulta que mim traga o seguinte resulatado:
DISCIPLINA
==============================
CIÊNCIAS
EDUCAÇÃO ARTÍSTICA
EDUCAÇÃO FÍSICA
EDUCAÇÃO RELIGIOSA
GEOGRAFIA
HISTÓRIA
INFORMÁTICA
INGLÊS
LITERATURA
ÉTICA
e não este:
DISCIPLINA
==============================
CIÊNCIAS
EDUCAÇÃO ARTÍSTICA
EDUCAÇÃO FÍSICA
EDUCAÇÃO RELIGIOSA
GEOGRAFIA
HISTÓRIA
INFORMÁTICA
INGLÊS
LITERATURA
MATEMÁTICA - ALGEBRA
MATEMÁTICA GEOMETRIA
PORTUGUÊS - GRAMÁTICA
PORTUGUÊS - TEXTO - REDAÇÃO
ÉTICA
como tar vindo pra mim agora, quero que a consulta não mim retorne estas disciplinas:
MATEMÁTICA - ALGEBRA
MATEMÁTICA GEOMETRIA
PORTUGUÊS - GRAMÁTICA
PORTUGUÊS - TEXTO - REDAÇÃO
tabelas usadas:
Esta consulta abaixo traz os resultado que desejo mas não sei como fazer isto usando o resulatdo de uma outra consulta.
Se eu tiver entendido, basta unir as consultas com [b:6c79860798]union all[/b:6c79860798]. Senão, coloque a estrutura das tabelas e mais detalhes sobre o problema.[/quote:6c79860798]
No sistema aqui tem estas duas tabelas; tab. MATERIAS e tab. NOTAS de onde através destas duas gostaria de uma consulta que mim traga o seguinte resulatado:
DISCIPLINA
==============================
CIÊNCIAS
EDUCAÇÃO ARTÍSTICA
EDUCAÇÃO FÍSICA
EDUCAÇÃO RELIGIOSA
GEOGRAFIA
HISTÓRIA
INFORMÁTICA
INGLÊS
LITERATURA
ÉTICA
e não este:
DISCIPLINA
==============================
CIÊNCIAS
EDUCAÇÃO ARTÍSTICA
EDUCAÇÃO FÍSICA
EDUCAÇÃO RELIGIOSA
GEOGRAFIA
HISTÓRIA
INFORMÁTICA
INGLÊS
LITERATURA
MATEMÁTICA - ALGEBRA
MATEMÁTICA GEOMETRIA
PORTUGUÊS - GRAMÁTICA
PORTUGUÊS - TEXTO - REDAÇÃO
ÉTICA
como tar vindo pra mim agora, quero que a consulta não mim retorne estas disciplinas:
MATEMÁTICA - ALGEBRA
MATEMÁTICA GEOMETRIA
PORTUGUÊS - GRAMÁTICA
PORTUGUÊS - TEXTO - REDAÇÃO
tabelas usadas:
/* Domain definitions */
CREATE DOMAIN ´CODIGO´ AS INTEGER NOT NULL;
CREATE DOMAIN ´DISCIPLINA´ AS VARCHAR(30);
/* Table: MATERIAS, Owner: INFORAMOS */
CREATE TABLE ´MATERIAS´
(
´COD_MATE´´CODIGO´,
´DISCIPLINA´´DISCIPLINA´,
´LDB´VARCHAR(2),
´DISTRIBUIDA´VARCHAR(3),
´UNIFICACAO´VARCHAR(45),
PRIMARY KEY (´COD_MATE´)
);
/* Domain definitions */
CREATE DOMAIN ´ANO´ AS VARCHAR(4);
CREATE DOMAIN ´CODIGO´ AS INTEGER NOT NULL;
CREATE DOMAIN ´DISCIPLINA´ AS VARCHAR(30);
CREATE DOMAIN ´MATRICULA´ AS VARCHAR(17);
CREATE DOMAIN ´NOTA´ AS VARCHAR(5);
CREATE DOMAIN ´SERIE´ AS VARCHAR(30);
CREATE DOMAIN ´TURMA´ AS VARCHAR(10);
CREATE DOMAIN ´TURNO´ AS VARCHAR(5);
/* Table: NOTAS, Owner: INFORAMOS */
CREATE TABLE ´NOTAS´
(
´COD_NOTA´´CODIGO´,
´COD_BOLE´´CODIGO´,
´MATRICULA´´MATRICULA´,
´ANO_LETIVO´´ANO´,
´DISCIPLINA´´DISCIPLINA´,
´ETAPA_1_MAR´´NOTA´,
´ETAPA_1_ABR´´NOTA´,
´ETAPA_1_M´´NOTA´,
´ETAPA_1_R´´NOTA´,
´ETAPA_2_MAI´´NOTA´,
´ETAPA_2_JUN´´NOTA´,
´ETAPA_2_M´´NOTA´,
´ETAPA_2_R´´NOTA´,
´ETAPA_3_AGO´´NOTA´,
´ETAPA_3_SET´´NOTA´,
´ETAPA_3_M´´NOTA´,
´ETAPA_3_R´´NOTA´,
´ETAPA_4_OUT´´NOTA´,
´ETAPA_4_NOV´´NOTA´,
´ETAPA_4_M´´NOTA´,
´ETAPA_4_R´´NOTA´,
´PROVAO´´NOTA´,
´PROVAO_R´´NOTA´,
´MEDIA_FINAL´´NOTA´,
´FALTAS´INTEGER,
´PONTOS´VARCHAR(4),
´RESULTADO_FINAL´VARCHAR(11),
´SERIE´´SERIE´,
´TURMA´´TURMA´,
´TURNO´´TURNO´,
´DISTRIBUIDA´VARCHAR(3),
PRIMARY KEY (´COD_NOTA´)
);
Esta consulta abaixo traz os resultado que desejo mas não sei como fazer isto usando o resulatdo de uma outra consulta.
select distinct DISCIPLINA from NOTAS A
where ANO_LETIVO = ´2006´ and SERIE = ´6ª SÉRIE´ and TURMA = ´A´ and TURNO = ´TARDE´ and exists ( select distinct * from BOLETIM where COD_BOLE = A.COD_BOLE and MATRICULA = A.MATRICULA and ANO_LETIVO = ´2006´ and SERIE = ´6ª SÉRIE´ and TURMA = ´A´ and TURNO = ´TARDE´) and
DISCIPLINA <> ´MATEMÁTICA - ALGEBRA´ and
DISCIPLINA <> ´MATEMÁTICA GEOMETRIA´ and
DISCIPLINA <> ´PORTUGUÊS - GRAMÁTICA´ and
DISCIPLINA <> ´PORTUGUÊS - TEXTO - REDAÇÃO´
order by DISCIPLINA
GOSTEI 0
Erivando
30/05/2006
será que alguem pode entender o que eu quero?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
No sistema aqui tem estas duas tabelas; tab. MATERIAS e tab. NOTAS de onde através destas duas gostaria de uma consulta que mim traga o seguinte resulatado:
DISCIPLINA
==============================
CIÊNCIAS
EDUCAÇÃO ARTÍSTICA
EDUCAÇÃO FÍSICA
EDUCAÇÃO RELIGIOSA
GEOGRAFIA
HISTÓRIA
INFORMÁTICA
INGLÊS
LITERATURA
ÉTICA
e não este:
DISCIPLINA
==============================
CIÊNCIAS
EDUCAÇÃO ARTÍSTICA
EDUCAÇÃO FÍSICA
EDUCAÇÃO RELIGIOSA
GEOGRAFIA
HISTÓRIA
INFORMÁTICA
INGLÊS
LITERATURA
MATEMÁTICA - ALGEBRA
MATEMÁTICA GEOMETRIA
PORTUGUÊS - GRAMÁTICA
PORTUGUÊS - TEXTO - REDAÇÃO
ÉTICA
como tar vindo pra mim agora, quero que a consulta não mim retorne estas disciplinas:
MATEMÁTICA - ALGEBRA
MATEMÁTICA GEOMETRIA
PORTUGUÊS - GRAMÁTICA
PORTUGUÊS - TEXTO - REDAÇÃO
tabelas usadas:
Esta consulta abaixo traz os resultado que desejo mas não sei como fazer isto usando o resulatdo de uma outra consulta.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[quote:d7360006b8=´Aroldo Zanela´]Colega,
Se eu tiver entendido, basta unir as consultas com [b:d7360006b8]union all[/b:d7360006b8]. Senão, coloque a estrutura das tabelas e mais detalhes sobre o problema.
No sistema aqui tem estas duas tabelas; tab. MATERIAS e tab. NOTAS de onde através destas duas gostaria de uma consulta que mim traga o seguinte resulatado:
DISCIPLINA
==============================
CIÊNCIAS
EDUCAÇÃO ARTÍSTICA
EDUCAÇÃO FÍSICA
EDUCAÇÃO RELIGIOSA
GEOGRAFIA
HISTÓRIA
INFORMÁTICA
INGLÊS
LITERATURA
ÉTICA
e não este:
DISCIPLINA
==============================
CIÊNCIAS
EDUCAÇÃO ARTÍSTICA
EDUCAÇÃO FÍSICA
EDUCAÇÃO RELIGIOSA
GEOGRAFIA
HISTÓRIA
INFORMÁTICA
INGLÊS
LITERATURA
MATEMÁTICA - ALGEBRA
MATEMÁTICA GEOMETRIA
PORTUGUÊS - GRAMÁTICA
PORTUGUÊS - TEXTO - REDAÇÃO
ÉTICA
como tar vindo pra mim agora, quero que a consulta não mim retorne estas disciplinas:
MATEMÁTICA - ALGEBRA
MATEMÁTICA GEOMETRIA
PORTUGUÊS - GRAMÁTICA
PORTUGUÊS - TEXTO - REDAÇÃO
tabelas usadas:
/* Domain definitions */
CREATE DOMAIN ´CODIGO´ AS INTEGER NOT NULL;
CREATE DOMAIN ´DISCIPLINA´ AS VARCHAR(30);
/* Table: MATERIAS, Owner: INFORAMOS */
CREATE TABLE ´MATERIAS´
(
´COD_MATE´´CODIGO´,
´DISCIPLINA´´DISCIPLINA´,
´LDB´VARCHAR(2),
´DISTRIBUIDA´VARCHAR(3),
´UNIFICACAO´VARCHAR(45),
PRIMARY KEY (´COD_MATE´)
);
/* Domain definitions */
CREATE DOMAIN ´ANO´ AS VARCHAR(4);
CREATE DOMAIN ´CODIGO´ AS INTEGER NOT NULL;
CREATE DOMAIN ´DISCIPLINA´ AS VARCHAR(30);
CREATE DOMAIN ´MATRICULA´ AS VARCHAR(17);
CREATE DOMAIN ´NOTA´ AS VARCHAR(5);
CREATE DOMAIN ´SERIE´ AS VARCHAR(30);
CREATE DOMAIN ´TURMA´ AS VARCHAR(10);
CREATE DOMAIN ´TURNO´ AS VARCHAR(5);
/* Table: NOTAS, Owner: INFORAMOS */
CREATE TABLE ´NOTAS´
(
´COD_NOTA´´CODIGO´,
´COD_BOLE´´CODIGO´,
´MATRICULA´´MATRICULA´,
´ANO_LETIVO´´ANO´,
´DISCIPLINA´´DISCIPLINA´,
´ETAPA_1_MAR´´NOTA´,
´ETAPA_1_ABR´´NOTA´,
´ETAPA_1_M´´NOTA´,
´ETAPA_1_R´´NOTA´,
´ETAPA_2_MAI´´NOTA´,
´ETAPA_2_JUN´´NOTA´,
´ETAPA_2_M´´NOTA´,
´ETAPA_2_R´´NOTA´,
´ETAPA_3_AGO´´NOTA´,
´ETAPA_3_SET´´NOTA´,
´ETAPA_3_M´´NOTA´,
´ETAPA_3_R´´NOTA´,
´ETAPA_4_OUT´´NOTA´,
´ETAPA_4_NOV´´NOTA´,
´ETAPA_4_M´´NOTA´,
´ETAPA_4_R´´NOTA´,
´PROVAO´´NOTA´,
´PROVAO_R´´NOTA´,
´MEDIA_FINAL´´NOTA´,
´FALTAS´INTEGER,
´PONTOS´VARCHAR(4),
´RESULTADO_FINAL´VARCHAR(11),
´SERIE´´SERIE´,
´TURMA´´TURMA´,
´TURNO´´TURNO´,
´DISTRIBUIDA´VARCHAR(3),
PRIMARY KEY (´COD_NOTA´)
);
Esta consulta abaixo traz os resultado que desejo mas não sei como fazer isto usando o resulatdo de uma outra consulta.
select distinct DISCIPLINA from NOTAS A
where ANO_LETIVO = ´2006´ and SERIE = ´6ª SÉRIE´ and TURMA = ´A´ and TURNO = ´TARDE´ and exists ( select distinct * from BOLETIM where COD_BOLE = A.COD_BOLE and MATRICULA = A.MATRICULA and ANO_LETIVO = ´2006´ and SERIE = ´6ª SÉRIE´ and TURMA = ´A´ and TURNO = ´TARDE´) and
DISCIPLINA <> ´MATEMÁTICA - ALGEBRA´ and
DISCIPLINA <> ´MATEMÁTICA GEOMETRIA´ and
DISCIPLINA <> ´PORTUGUÊS - GRAMÁTICA´ and
DISCIPLINA <> ´PORTUGUÊS - TEXTO - REDAÇÃO´
order by DISCIPLINA
[/quote:d7360006b8]GOSTEI 0
Motta
30/05/2006
Sugestão :
Publique a descrição das tabelas e a pergunta que se quer responder
na forma descritiva :
Ex:
1) Listar todas a materias que tiveram nº de alunos acima da média.
2) Listar todas as materias das turmas da 6ª serie.
----------------------------------------------------------------------------
Publique a descrição das tabelas e a pergunta que se quer responder
na forma descritiva :
Ex:
1) Listar todas a materias que tiveram nº de alunos acima da média.
2) Listar todas as materias das turmas da 6ª serie.
----------------------------------------------------------------------------
GOSTEI 0
Rjun
30/05/2006
Acho que sua estrutura de tabela está meio confusa. Você está fazendo busca por nomes. Isso tem tudo pra dar errado. Crie tabelas de disciplinas e materias.
GOSTEI 0