informação repetida no select

Forum sobre SQL.

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

informação repetida no select

Mensagem por JoséQuintas »

Situação:

Vou precisar dos dados da empresa, que é UM registro.

Se eu fizer um SELECT minhoca.*, JPEMPRESA.*
Isso vai multiplicar as informações da empresa em cada registro.
Isso é otimizado pelo SQL, ou isso vai ser problema mesmo?

Melhor armazenar de outra forma?

Isso é uma coisa que no DBF era prático, porque era só manter aberto, mas no SQL... manter aberto não é opção. (não quero manter aberto).
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

informação repetida no select

Mensagem por alxsts »

Olá!

Isto está mal escrito. Pode explicar melhor o que quer fazer?
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

informação repetida no select

Mensagem por JoséQuintas »

Tem uma tabela com os dados da empresa, um único registro.
Poderia aproveitar na hora de buscar a movimentação, e já trazer os dados da empresa, mas isso vai multiplicar em muito a tabela de registro único.
Se o SQL otimizar isso no retorno, trazer só uma vez, apesar de aparecerem várias vezes, compensaria.
Senão, é criar SELECTs diferentes pra cada um.

Código: Selecionar todos

a := "SELECT * FROM JPEMPRESA"
b := "SELECT * FROM MOVIMENTO"

// a := "SELECT JPMOVIMENTO.*, JPEMPRESA.* FROM JPEMPRESA,JPMOVIMENTO"
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

informação repetida no select

Mensagem por alxsts »

Olá!

Supondo que na tabela de movimento conste o identificador da empresa, creio que o melhor é fazer um INNER JOIN. Não tem problema ter apenas um registro.
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

informação repetida no select

Mensagem por JoséQuintas »

alxsts escreveu:Supondo que na tabela de movimento conste o identificador da empresa, creio que o melhor é fazer um INNER JOIN. Não tem problema ter apenas um registro.
Eu digo referente ao desperdício de informação, no caso de muitos registros na movimentação.

Código: Selecionar todos

SELECT CONTABIL.*, EMPRESA.*
FROM CONTABIL
LEFT JOIN EMPRESA ON IDEMPRESA=1
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder