jafm Posted October 7, 2013 at 10:58 AM Report #527859 Posted October 7, 2013 at 10:58 AM 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?
nelsonr Posted October 7, 2013 at 11:12 AM Report #527860 Posted October 7, 2013 at 11:12 AM 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?
jafm Posted October 7, 2013 at 11:22 AM Author Report #527863 Posted October 7, 2013 at 11:22 AM 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...
AntonioMateus Posted October 8, 2013 at 08:41 AM Report #528013 Posted October 8, 2013 at 08:41 AM 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. 🙂
nelsonr Posted October 8, 2013 at 09:04 AM Report #528017 Posted October 8, 2013 at 09:04 AM 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
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now