Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rsegovia

problemasso

Recommended Posts

Boa tarde galera do forum, estou com um problemão espero que alguem possa me ajudar.Tenho em meu sistema uma tabela de segmentos e outra de produtos, na tabela de produtos existem o codigo do produto e o codigo do produto do fornecedor (codigo q o fornecedor da para aquele produto), como é o fornecedor que da o codigo, esse codigo pode se duplicar, entao, eu adiciono o meu codigo do produto separando ele por "#"entao o codigo do produto de um fornecedor pode ficar assim 22543#9609meu problema é o seguinte, hoje estou fazendo um sistema de autalização automatica de status, para ver se o produto está disponivel ou nao, o que eu faço, recebo uma tabela do meu fornecedor com os codigos dele somente dos que estão disponíveis, eu faço o usuario selecionar o segmento daquele fornecedor para diminuir os erros e faço a atualização, o criterio de atualização é '%#codigo', ou seja pra atualizar o produto 22543 que tem o codigo do fornecedor 22543#9609 eu faço um where passando como condição o %#9609.Meu problema é o seguinte, eu posso ter 2 ou mais do mesmo segmento com o codigo #9609, so que nao consigo fazer um select distinct nele pq o que vem antes do # é diferente, eu poderia usar o like, mas, ai eu teria que fazer um select para cada produto, gostaria de estar usando o in(), so que ele nao funciona com o %.Alguem sabe como posso fazer isso ?Obrigado.Rogério

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim é MSSQL, mas esqueci de um detalhe, nem sempre o codigo do fornecedor é numero, pode existir um codigo como esse 1071#P7200981.e eu pego eles de um excel, entre virgula, queria arrumar uma forma de jogar isso tudo pra fazer 1 select só, um select distinct mostrando os duplicadosMe da um exemplo de como posso fazer pq nao entendi muito bem.Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

vou mudar o modo de falar do meu problema para ver se alguem consegue me ajudartenho os seguintes dados1234#12341235#12341236#12351237#12361238#1236todos os codigos acima são diferentes, meu fornecedor vai me mandar os codigos, 1234, 1235 e 1236eu gostaria de exibir os codigos 1234#1234, 1235#1234, 1237#1236, 1238#1236, os codigos 1234 e 1236 depois do # se repetem, alguem sabe como eu faço isso sem precisar ficar usando like, or ?Banco de dados MSSQLvlw..Rogério

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas ai da na mesma de eu fazer um split, e ficar adicionando like '%' or..like...or, eu preciso q todos os com o mesmo codigo apos # sejam exibidos, eu pensei em fazer assim, eu faço um where com rightright(fornecedor,x) in (xxx,xxx,xxx), mas eu preciso saber a posicao do # dentro da string, e eu nao sei se existe uma função igual ao instr para mssql. Alguem sabe ?vlw..rogério

Compartilhar este post


Link para o post
Compartilhar em outros sites

aeeeeeeeee deu certo ^^ vlw, vou postar a string aquiselect pro_int_codigo, pro_int_fornecedor from tbl_produto where substring(pro_int_fornecedor,(charindex('#',pro_int_fornecedor,0)+1),100) in (CODIGOS....)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.