Jump to content
jafm

duvida com Substring

Recommended Posts

jafm

Olá,

DECLARE @CONTAS TABLE (
TIPO VARCHAR(100),
VALOR int
)
INSERT INTO @CONTAS VALUES
('alf',1),
('acc',5),
('acc aa',55)
select * from @CONTAS where tipo = SUBSTRING(tipo,1,3)

usando assim substring com a clausula where como é k eu consigo que ele me devolva o 3 registo, e não apenas?

Share this post


Link to post
Share on other sites
nelsonr

Não percebi o que pretendes.

Estás a ler os registos cujo campo tipo seja igual aos primeiros 3 caracteres do tipo, o que apenas coincide com os 2 primeiros registos.

O terceiro registo ficará algo como 'acc aa' = 'acc', o que é falso.

Se queres os 3 registos, porque usas o where?

Share this post


Link to post
Share on other sites
jafm

Ainda ando a procura de uma solução pra poder colocar tudo na mesma linha.. Ando em teste...

entretanto usei o replace..

vou colocar aqui a minha ideia

SELECT REPLACE(C.TIPO,'aa',''),
INVESTIMENTOS = SUM(CASE WHEN C.TIPO like '%aa' THEN C.VALOR END),
OUTROS = SUM(CASE WHEN not C.TIPO like '%aa%' THEN C.VALOR END)
FROM @CONTAS AS C
where REPLACE(C.TIPO,'aa','')=SUBSTRING(tipo,0,4)
GROUP BY C.TIPO

porque a minha ideia é que 'acc' e 'acc aa' fosse a mesma coisa...

Share this post


Link to post
Share on other sites
AntonioMateus

Será que o que precisas será algo do género:

select * from @Contas as C
where c.Tipo like left(ltrim(@varTipo),3)+'%'

Vê se isto ajuda. :)

Share this post


Link to post
Share on other sites
nelsonr

jafm tens de explicar melhor. Pretendes de uma tabela com os seguintes dados:

Cliente Ano Quantidade
1 2012 10
1 2013 5

Ter um select que faça aparecer os dados assim?

Cliente Ano QuantidadeAnoAtual QuantidadeAnoAnterior
1 2013 5 10

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.