ENC: Consulta complexa

ENC: Consulta complexa

am 20.10.2005 15:54:23 von fabiomeira

Pequena falha.
Voc=EA pode tirar a tabela COMPONENTE das cl=E1usulas FROM mais =
internas. A n=E3o
ser que voc=EA deseje trabalhar com a descrição e n=E3o com o =
c=F3digo do
componente. Mas neste caso, ela s=F3 vai onerar a consulta.

-----Mensagem original-----
De: F=E1bio L=FAcio Meira [mailto:fabiomeira@saocamilo-es.br]=20
Enviada em: quinta-feira, 20 de outubro de 2005 11:50
Para: win32@lists.mysql.com
Assunto: RES: Consulta complexa

Camarada. Testei a solução proposta e realmente ela =E9 funcional. =
Se voc=EA for
realizar muitas consultas, indexe todos os campos que s=E3o utilizados =
no
processo de junção - chaves prim=E1ria e estrangeira (na vers=E3o =
INNODB isto j=E1
=E9 obrigat=F3rio). Esta indexação acelera a consulta, por=E9m =
atrasa a
manipulação (inserção, alteração e exclus=E3o).
[]s

-----Mensagem original-----
De: F=E1bio L=FAcio Meira [mailto:fabiomeira@saocamilo-es.br]=20
Enviada em: quinta-feira, 20 de outubro de 2005 11:30
Para: win32@lists.mysql.com
Assunto: RES: Consulta complexa

Concordo com o Daniel. Gere as tabelas no esquema:

=20

equipamento =3D codigo | descricao

componente =3D codigo | descricao

eq_cp =3D equipamento | componente

=20

=20

Talvez uma solução poss=EDvel seja:

=20

select descricao

from equipamento e

where=20

exists

(select *

from componente c, eq_cp ec

where e.codigo =3D ec.equipamento and

ec.componente in (cod1, cod2, cod3, ..., codn)) --> =
componentes
desejados

and

not exists

(select *

from componente c, eq_cp ec

where e.codigo =3D ec.equipamento and

ec.componente in (cod1, cod2, cod3, ..., codn)); --> =
componentes
n=E3o desejados

=20

=20

Por=E9m eu n=E3o testei.

[]s

=20

=20

-----Mensagem original-----
De: Franco Catena [mailto:facatena@surson.com.br]=20
Enviada em: quinta-feira, 20 de outubro de 2005 07:27
Para: win32@lists.mysql.com
Assunto: Consulta complexa

=20

=20

Bom dia,

=20

estou num dilema, tenho que fazer um cadastro que poderia gerar algo:

=20

tabela 1 1 ---------->N tabela 2=20

=20

A tabela um s=E3o os dados gerais de um equipamento e a tabela dois sao =
as

coisas que este esquipamento pode ou nao ter. Bom occorre que para cada

equipaemnto eu posso ter at=E9 700 itens na tabela 2.

ex:

=20

equipamento A tem dos 700 possiveis 400 itens e termos 3.000 =
equipementos

cadastrados

=20

eu pensei em fazer um unico registro e desprezar a normalizacao com 750

campos( 50 agrupando os dados gerais do equipamento e mais 700 registor =
sdo

tipo boleano) Contudo isso ficaria um registro enorme.=20

=20

Pergunta:

=20

Eu preciso fazer a seguinte consulta:

=20

se fosse normalizado

=20

qual o numero do equipamento ( tabela 1 ) que tem o item 1 , 2 , 3, 134 =
mas

que nao tenha o Item 24, 38

=20

Eu havia pensado em s=F3 gravar os itens que existissem no equipamento =
para

economizar espaco. Sera que =E9 possivel? como fazer esse select?

=20

Alguem pode me ajudar?

=20

Franco Catena

=20

=20

=20

--=20

No virus found in this outgoing message.

Checked by AVG Anti-Virus.

Version: 7.0.344 / Virus Database: 267.12.4/143 - Release Date: =
19/10/2005

=20

=20

--=20

MySQL Windows Mailing List

For list archives: http://lists.mysql.com/win32

To unsubscribe:
http://lists.mysql.com/win32?unsub=3Dfabiomeira@saocamilo-es .br



--=20
MySQL Windows Mailing List
For list archives: http://lists.mysql.com/win32
To unsubscribe:
http://lists.mysql.com/win32?unsub=3Dfabiomeira@saocamilo-es .br


--
MySQL Windows Mailing List
For list archives: http://lists.mysql.com/win32
To unsubscribe: http://lists.mysql.com/win32?unsub=3Dgcdmw-win32@m.gmane.org

Re: Consulta complexa

am 20.10.2005 16:12:02 von Daniel da Veiga

Pessoal, vamos tentar manter a l=EDngua padr=E3o, at=E9 me assustei com a
quantidade de usu=E1rios falantes de portugu=EAs, mas a lista =E9
frequentada na maioria por pessoas que falam ingl=EAs e fica at=E9 feio.
Ali=E1s, deve existir uma lista em portugu=EAs, vou at=E9 dar uma olhada.

Let's just try to keep it english people. I shall look for an
portuguese speaking mysql list, soon, when I have the time.

PS: Gotta love subqueries. How could I survive before them?!

--
Daniel da Veiga
Computer Operator - RS - Brazil
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCM/IT/P/O d-? s:- a? C++$ UBLA++ P+ L++ E--- W+++$ N o+ K- w O M- V-
PS PE Y PGP- t+ 5 X+++ R+* tv b+ DI+++ D+ G+ e h+ r+ y++
------END GEEK CODE BLOCK------

--
MySQL Windows Mailing List
For list archives: http://lists.mysql.com/win32
To unsubscribe: http://lists.mysql.com/win32?unsub=3Dgcdmw-win32@m.gmane.org