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=E7=E3o 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 [at] saocamilo-es.br]
Enviada em: quinta-feira, 20 de outubro de 2005 11:50
Para: win32 [at] lists.mysql.com
Assunto: RES: Consulta complexa
Camarada. Testei a solu=E7=E3o 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=E7=E3o - chaves prim=E1ria e estrangeira (na vers=E3o =
INNODB isto j=E1
=E9 obrigat=F3rio). Esta indexa=E7=E3o acelera a consulta, por=E9m =
atrasa a
manipula=E7=E3o (inser=E7=E3o, altera=E7=E3o e exclus=E3o).
[]s
-----Mensagem original-----
De: F=E1bio L=FAcio Meira [mailto:fabiomeira [at] saocamilo-es.br]
Enviada em: quinta-feira, 20 de outubro de 2005 11:30
Para: win32 [at] lists.mysql.com
Assunto: RES: Consulta complexa
Concordo com o Daniel. Gere as tabelas no esquema:
equipamento =3D codigo | descricao
componente =3D codigo | descricao
eq_cp =3D equipamento | componente
Talvez uma solu=E7=E3o poss=EDvel seja:
select descricao
from equipamento e
where
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
Por=E9m eu n=E3o testei.
[]s
-----Mensagem original-----
De: Franco Catena [mailto:facatena [at] surson.com.br]
Enviada em: quinta-feira, 20 de outubro de 2005 07:27
Para: win32 [at] lists.mysql.com
Assunto: Consulta complexa
Bom dia,
estou num dilema, tenho que fazer um cadastro que poderia gerar algo:
tabela 1 1 ---------->N tabela 2
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:
equipamento A tem dos 700 possiveis 400 itens e termos 3.000 =
equipementos
cadastrados
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.
Pergunta:
Eu preciso fazer a seguinte consulta:
se fosse normalizado
qual o numero do equipamento ( tabela 1 ) que tem o item 1 , 2 , 3, 134 =
mas
que nao tenha o Item 24, 38
Eu havia pensado em s=F3 gravar os itens que existissem no equipamento =
para
economizar espaco. Sera que =E9 possivel? como fazer esse select?
Alguem pode me ajudar?
Franco Catena
--
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
--
MySQL Windows Mailing List
For list archives: http://lists.mysql.com/win32
To unsubscribe:
http://lists.mysql.com/win32?unsub=3Dfabiomeira [at] saocamilo-es .br
--
MySQL Windows Mailing List
For list archives: http://lists.mysql.com/win32
To unsubscribe:
http://lists.mysql.com/win32?unsub=3Dfabiomeira [at] 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 [at] m.gmane.org
