Ir para conteúdo
Fórum Script Brasil

arnaldoborges

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Tudo que arnaldoborges postou

  1. Buenas Pessoal, Queimando alguns neurônios, fiz uma gabiarrinha que parece atender as expectativas: DECLARE @crs_code VARCHAR(20) DECLARE curs CURSOR read_only FOR SELECT crs_code FROM tabintermed_cms OPEN curs FETCH next FROM curs INTO @crs_code WHILE @@FETCH_STATUS = 0 BEGIN DECLARE @post_id VARCHAR(20) SELECT @post_id = Min(post_id) FROM wpteste...wp_postmeta WHERE meta_key LIKE 'crs_code' AND meta_value LIKE @crs_code WHILE @post_id IS NOT NULL BEGIN SELECT DISTINCT( post_id ) FROM wpteste...wp_postmeta WHERE post_id = @post_id AND meta_key LIKE 'crs_code' AND meta_value LIKE @crs_code SELECT @post_id = Min(post_id) FROM wpteste...wp_postmeta WHERE post_id > @post_id AND meta_key LIKE 'crs_code' AND meta_value LIKE @crs_code IF ( @post_id <> '' ) PRINT @post_id END FETCH next FROM curs INTO @crs_code END CLOSE curs DEALLOCATE curs Alguém tem uma ideia melhor? []'s!
  2. Olá pessoal, bom dia! Fiz várias buscas para encontrar uma "luz" para o meu problema, mas não encontrei nada. Em compensação, encontrei o forum do Script Brasil com uma área destinada apenas para SQL Server, show! Se alguém puder me ajudar fico extremamente agradecido. Bom, então vamos lá! Possuo hoje no ambiente de produção a query abaixo, funcionando perfeitamente. Para que vocês possam entender, a função dela é encontrar o "POST_ID" da tabela "WPTESTE...wp_postmeta", relacionado com o "CRS_CODE" da tabela "tabIntermed_CMS". Mas se vocês perceberem, na subquery que atribiu valor para a variável "@post_id", eu estou utilizando um "TOP 1", para que ele atribua o primeiro valor encontrado. Acontece que isso não é o ideal, pois eu posso ter vários "POST_ID" para o mesmo "CRS_CODE", só que claro, se eu retirar o TOP 1, ele vai me retornar erro dizendo que há mais de um valor. E se eu deixar este "TOP 1", perderei todos os demais "POST_ID" (pegarei apenas o primeiro). :wacko: DECLARE @crs_code VARCHAR(20) DECLARE CURS CURSOR read_only FOR SELECT crs_code FROM tabIntermed_CMS OPEN CURS FETCH next FROM CURS INTO @crs_code WHILE @@FETCH_STATUS = 0 BEGIN DECLARE @post_id VARCHAR(20) SET @post_id = ( SELECT TOP 1 post_id FROM WPTESTE...wp_postmeta WHERE meta_key LIKE 'crs_code' AND meta_value LIKE @crs_code ) IF (@post_id <> '') PRINT @post_id FETCH next FROM CURS INTO @crs_code END CLOSE CURS DEALLOCATE CURS Minha(s) dúvida(s) é(são) a(s) seguinte(s): Qual a melhor forma de se fazer isso? Vocês acreditam que eu vou precisar de outro cursor? Como ficaria um cursor dentro de outro? Não sei se deu pra entender a minha situação, se não deu, me avisem que eu explico de outra forma. ^_^ Desde já, fico muitíssimo agradecido pela atenção! Grande abraço, Arnaldo.
×
×
  • Criar Novo...