informação repetida no select

Forum sobre SQL.

Moderador: Moderadores

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

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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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: 3109
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: 20416
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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: 3109
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: 20416
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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