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!
Pergunta
arnaldoborges
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:
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.
Editado por arnaldoborgesLink para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.