Erro em comandos SQL

Forum sobre SQL.

Moderador: Moderadores

Avatar do usuário
Poka
Usuário Nível 4
Usuário Nível 4
Mensagens: 563
Registrado em: 25 Out 2004 21:26
Localização: Leme/SP

Erro em comandos SQL

Mensagem por Poka »

Olá a todos.

Quintas, só respondendo a anterior, com o First deu certo.

Agora uma outra dúvida

tenho duas tabelas
grupo e produto

em grupo tenho os campos, codigo , nome, temSt, revenda e ncm
em produtos tenho codigo,nome, temst,revenda, ncm e codGrupo

preciso imprimir uma listagem com com as colunas

codigo e nome do grupo, temst,revenda, e ncm

e abaixo de cada grupo todos os produtos pertencentes a esse grupo
onde está 000 e 999 são variaveis que pode ser todos ou só uma faixa de grupos

pode ser de grupos pegar os produtos, ou de produto pegar os grupos.


tentei o comando abaixo, mas não deu certo, tentei com 2 selects , join ,tem alguma sugestão?

Código: Selecionar todos

select g.codigo,g.nome, g.temst,g.revenda,g.ncm,p.codgrupo,p.nome from grupo g,produto p  where g.codigo >='000' and g.codigo <= '999'  and  p.codgrupo >= '000' and p.codgrupo <= '999' order by g.codigo;
 
Poka
wmanesco
Usuário Nível 3
Usuário Nível 3
Mensagens: 116
Registrado em: 09 Set 2016 13:18
Localização: ITAJAI - SC

Erro em comandos SQL

Mensagem por wmanesco »

Acho que seria com JOIN.

Código: Selecionar todos

SELECT g.codigo, g.nome,g.temst, g.revenda, g.ncm, p.nome FROM grupo g LEFT JOIN produtos p ON g.codigo = p.codGrupo ORDER BY g.codigo;
Ai se quiser pode colocar os WHERE dos códigos menores do que 999
William Manesco
Harbour 3.x | Fivewin | BCC | MySQL (TDolphin) | HBQT | HBIDE | Atom
Avatar do usuário
Poka
Usuário Nível 4
Usuário Nível 4
Mensagens: 563
Registrado em: 25 Out 2004 21:26
Localização: Leme/SP

Erro em comandos SQL

Mensagem por Poka »

Valeu William

deu certinho

Um abraço e obrigado

Poka
wmanesco
Usuário Nível 3
Usuário Nível 3
Mensagens: 116
Registrado em: 09 Set 2016 13:18
Localização: ITAJAI - SC

Erro em comandos SQL

Mensagem por wmanesco »

Beleza!
William Manesco
Harbour 3.x | Fivewin | BCC | MySQL (TDolphin) | HBQT | HBIDE | Atom
Avatar do usuário
Poka
Usuário Nível 4
Usuário Nível 4
Mensagens: 563
Registrado em: 25 Out 2004 21:26
Localização: Leme/SP

Erro em comandos SQL

Mensagem por Poka »

Olá a todos

Incluir, alterar, excluir, já fiz as minha rotinas está tudo tranquilo, agora vem os relatórios onde vai ter rotinas que ter ir pedindo ajuda aqui aos colegas.

A situação agora é a seguinte.

Passei os dados de um sistema antigo de dbf para FB.
Tenho o arquivo de itens das notas com +- 700.000 itens.
tabela nota_m com um campo nItem com tamanho de 3 tipo caracter, onde gravo 001,002 etc

nessa tabela tem notas com 1 item, 5 itens etc, precisaria preencher esse campos de cada nota com a numeração de itens.

Str:="UpDate nota_m set nitem = ''001'';"

assim eu gravo todos com "001"
Será que tem como gravar a numeração de cada item , de acordo com a quantidade de cada nota?

Poka
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Erro em comandos SQL

Mensagem por alxsts »

Olá!

Como ponto de partida, sugiro que leia o artigo The Difference Between ROW_NUMBER(), RANK(), and DENSE_RANK(), em Inglês. No caso do Firebird, estes recursos estão disponíveis a partir da versão 3.0.
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
Poka
Usuário Nível 4
Usuário Nível 4
Mensagens: 563
Registrado em: 25 Out 2004 21:26
Localização: Leme/SP

Erro em comandos SQL

Mensagem por Poka »

Alexandre, obrigado por responder, uso a versão 2.5.
Não sei se mudar para a versão 3 vou ter que alterar muita coisa, se tiver que alterar, vou ficar na 2.5 mesmo por enquanto.
esse campo não é tão importante assim. Se ficar em branco não vai interferir em nada.

Obrigado

Poka
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Erro em comandos SQL

Mensagem por alxsts »

[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
Poka
Usuário Nível 4
Usuário Nível 4
Mensagens: 563
Registrado em: 25 Out 2004 21:26
Localização: Leme/SP

Erro em comandos SQL

Mensagem por Poka »

Olá

Alexandre, sobre a rotina anterior, ainda vou voltar nela, estou indo aos "pedaços".

O comando abaixo acho que peguei aqui mesmo no fórum.

insert into table1 (nome) select (nome) from table2;

insere os nomes da tabela table2 na tabela table1.

tem como inserir todos os campos de uma tabela em outra.

uso bastante isso, criei as minhas funções para esse trabalho, para não ter que relacionar todos os campos, mas esse comando parece bem simplicado, tenho arquivo com +- 240 campos no arquivo de notas por exemplo. Testei com algumas alterações, mas não deu certo.



Poka
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Erro em comandos SQL

Mensagem por alxsts »

Olá!

Leia o tópico Copiando dados com SQL. Creio que possa te ajudar.
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
Poka
Usuário Nível 4
Usuário Nível 4
Mensagens: 563
Registrado em: 25 Out 2004 21:26
Localização: Leme/SP

Erro em comandos SQL

Mensagem por Poka »

Valeu Alexandre, obrigado.

Poka
Avatar do usuário
Poka
Usuário Nível 4
Usuário Nível 4
Mensagens: 563
Registrado em: 25 Out 2004 21:26
Localização: Leme/SP

Erro em comandos SQL

Mensagem por Poka »

Olá a todos

Alexandre, peguei este exemplo seu
SELECT * INTO b FROM a WHERE 1 = 0
estou fazendo assim
select * into teste from notad where 1=0;
dá o erro abaixo
Error HY000 - [ODBC Firebird Driver][Firebird]Dynamic SQL Error
SQL error code = -104
Token unknown - line 1, column 10
Into
Poderia dar uma ajuda, não consegui ver o erro.
Quero criar um temporário vazio (só com a estrutura).


Poka
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Erro em comandos SQL

Mensagem por alxsts »

Olá!

Pelo que li pesquisando no Google, oFirebird não suporta este recurso. Tem que usar alguma ferramenta tipo FlameRobin
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
Poka
Usuário Nível 4
Usuário Nível 4
Mensagens: 563
Registrado em: 25 Out 2004 21:26
Localização: Leme/SP

Erro em comandos SQL

Mensagem por Poka »

Obrigado Alexandre, eu tenho a minha função para fazer esse trabalho, mas esse comando era interessante, acho que aqueles outros comandos também não irão funcionar, mas valeu.

Um abraço

Poka
Avatar do usuário
Poka
Usuário Nível 4
Usuário Nível 4
Mensagens: 563
Registrado em: 25 Out 2004 21:26
Localização: Leme/SP

Erro em comandos SQL

Mensagem por Poka »

Olá a todos.

Este comando deveria trazer o db_key do registro?. Não dá erro, vem com um carácter estranho. Tem como pegar esta informação do registro?

Código: Selecionar todos

"select RDB$DB_KEY from tabela;"

Poka
Responder