<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comentários sobre: Entendendo Outer Joins SQL &#8211; Parte 1 (Produto Cartesiano)</title>
	<atom:link href="http://www.profissionaisti.com.br/2009/06/entendendo-outer-joins-sql-parte-1-produto-cartesiano/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.profissionaisti.com.br/2009/06/entendendo-outer-joins-sql-parte-1-produto-cartesiano/</link>
	<description>Pra quem respira informação</description>
	<lastBuildDate>Sun, 12 Feb 2012 12:20:14 -0200</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>Por: Daniel Tibúrcio</title>
		<link>http://www.profissionaisti.com.br/2009/06/entendendo-outer-joins-sql-parte-1-produto-cartesiano/comment-page-1/#comment-48651</link>
		<dc:creator>Daniel Tibúrcio</dc:creator>
		<pubDate>Tue, 03 Jan 2012 18:52:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.profissionaisti.com.br/?p=2943#comment-48651</guid>
		<description>Conseguiu algo, Fabrício?</description>
		<content:encoded><![CDATA[<p>Conseguiu algo, Fabrício?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Uma pequena introdução sobre o inner join em SQL &#171; Tecnologia &#38; Segurança</title>
		<link>http://www.profissionaisti.com.br/2009/06/entendendo-outer-joins-sql-parte-1-produto-cartesiano/comment-page-1/#comment-48394</link>
		<dc:creator>Uma pequena introdução sobre o inner join em SQL &#171; Tecnologia &#38; Segurança</dc:creator>
		<pubDate>Tue, 27 Dec 2011 01:33:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.profissionaisti.com.br/?p=2943#comment-48394</guid>
		<description>[...] as aulas da faculdade, percebi as dificuldades do pessoal em assimilar o conceito sobre do Inner Join em banco de [...]</description>
		<content:encoded><![CDATA[<p>[...] as aulas da faculdade, percebi as dificuldades do pessoal em assimilar o conceito sobre do Inner Join em banco de [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Daniel Tibúrcio</title>
		<link>http://www.profissionaisti.com.br/2009/06/entendendo-outer-joins-sql-parte-1-produto-cartesiano/comment-page-1/#comment-48380</link>
		<dc:creator>Daniel Tibúrcio</dc:creator>
		<pubDate>Mon, 26 Dec 2011 12:48:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.profissionaisti.com.br/?p=2943#comment-48380</guid>
		<description>CREATE TABLE RENDESC
(
COD_CODIGO   CHAR(4) ,
COD_DESCRI   VARCHAR(30)
);

CREATE TABLE EMPREGAD
(
CLI_CODIGO   SMALLINT,
EMP_CODIGO   CHAR(3) ,
FUN_MATRIC   VARCHAR(6) ,
FUN_NOME   VARCHAR(60)
);

CREATE TABLE ACUMUL
(
EMP_CODIGO   CHAR(3) ,
FUN_MATRIC   VARCHAR(6) ,
CTE_MESPRO   VARCHAR(6) ,
COD_CODIGO   CHAR(4) ,
CAL_VALOR   FLOAT
);

Preciso, para uma empresa definida (campo EMP_CODIGO de EMPREGAD e de ACUMUL), de todos os códigos existentes (COD_CODIGO em RENDESC e ACUMUL, sendo que neste não existem todos existentes em RENDESC) para todos os funcionários (FUN_MATRIC em EMPREGAD e ACUMUL) em um mês definido (CTE_MESPRO em ACUMUL).

Preciso da matrícula (FUN_MATRIC), código (COD_CODIGO) e a soma dos valores (CAL_VALOR em ACUMUL, sendo que os códigos que não existem aqui deve vir zerados).

Como vou fazer comparação entre dois meses, a intenção é executar o mesmo SQL para cada mês informado pelo usuário e compará-los, mas esta parte é tranquila.

Se não apresentarem todos os códigos a comparação ficará errada, pois um código pode acontecer num mês e não acontecer em outro e o contrário pode ocorrer com ourtro código.

Um grande abraço e excelente 2012!!!</description>
		<content:encoded><![CDATA[<p>CREATE TABLE RENDESC<br />
(<br />
COD_CODIGO   CHAR(4) ,<br />
COD_DESCRI   VARCHAR(30)<br />
);</p>
<p>CREATE TABLE EMPREGAD<br />
(<br />
CLI_CODIGO   SMALLINT,<br />
EMP_CODIGO   CHAR(3) ,<br />
FUN_MATRIC   VARCHAR(6) ,<br />
FUN_NOME   VARCHAR(60)<br />
);</p>
<p>CREATE TABLE ACUMUL<br />
(<br />
EMP_CODIGO   CHAR(3) ,<br />
FUN_MATRIC   VARCHAR(6) ,<br />
CTE_MESPRO   VARCHAR(6) ,<br />
COD_CODIGO   CHAR(4) ,<br />
CAL_VALOR   FLOAT<br />
);</p>
<p>Preciso, para uma empresa definida (campo EMP_CODIGO de EMPREGAD e de ACUMUL), de todos os códigos existentes (COD_CODIGO em RENDESC e ACUMUL, sendo que neste não existem todos existentes em RENDESC) para todos os funcionários (FUN_MATRIC em EMPREGAD e ACUMUL) em um mês definido (CTE_MESPRO em ACUMUL).</p>
<p>Preciso da matrícula (FUN_MATRIC), código (COD_CODIGO) e a soma dos valores (CAL_VALOR em ACUMUL, sendo que os códigos que não existem aqui deve vir zerados).</p>
<p>Como vou fazer comparação entre dois meses, a intenção é executar o mesmo SQL para cada mês informado pelo usuário e compará-los, mas esta parte é tranquila.</p>
<p>Se não apresentarem todos os códigos a comparação ficará errada, pois um código pode acontecer num mês e não acontecer em outro e o contrário pode ocorrer com ourtro código.</p>
<p>Um grande abraço e excelente 2012!!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Fabricio C. Frontarolli</title>
		<link>http://www.profissionaisti.com.br/2009/06/entendendo-outer-joins-sql-parte-1-produto-cartesiano/comment-page-1/#comment-48293</link>
		<dc:creator>Fabricio C. Frontarolli</dc:creator>
		<pubDate>Thu, 22 Dec 2011 15:29:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.profissionaisti.com.br/?p=2943#comment-48293</guid>
		<description>Daniel, me manda os scripts de criação de suas tabelas e oq vc precisa retornar..
Eu monto aqui e te passou, fica meio abstrato tentar ajudar só imaginando as tabelas.
Me passa elas e os resultados que você precisa retornar delas, ai te mando.
Se preferir mandar no email é : fabricio.frontarolli@gmail.com.

Valeu!</description>
		<content:encoded><![CDATA[<p>Daniel, me manda os scripts de criação de suas tabelas e oq vc precisa retornar..<br />
Eu monto aqui e te passou, fica meio abstrato tentar ajudar só imaginando as tabelas.<br />
Me passa elas e os resultados que você precisa retornar delas, ai te mando.<br />
Se preferir mandar no email é : <a href="mailto:fabricio.frontarolli@gmail.com">fabricio.frontarolli@gmail.com</a>.</p>
<p>Valeu!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Daniel Tibúrcio</title>
		<link>http://www.profissionaisti.com.br/2009/06/entendendo-outer-joins-sql-parte-1-produto-cartesiano/comment-page-1/#comment-48268</link>
		<dc:creator>Daniel Tibúrcio</dc:creator>
		<pubDate>Wed, 21 Dec 2011 18:35:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.profissionaisti.com.br/?p=2943#comment-48268</guid>
		<description>Deu certo com os totais gerais, mas eu precisava fazer o mesmo por matrícula, algo assim:

SELECT RENDESC.COD_CODIGO, ACUMUL.FUN_MATRIC, SUM(ACUMUL.CAL_VALOR) AS CAL_VALOR
FROM RENDESC
LEFT JOIN ACUMUL
ON RENDESC.COD_CODIGO = ACUMUL.COD_CODIGO
AND ACUMUL.EMP_CODIGO = ’027&#039; AND ACUMUL.CTE_MESPRO = ’201107&#039;
GROUP BY RENDESC.COD_CODIGO, ACUMUL.FUN_MATRIC

mas assim volta ao problema anterior</description>
		<content:encoded><![CDATA[<p>Deu certo com os totais gerais, mas eu precisava fazer o mesmo por matrícula, algo assim:</p>
<p>SELECT RENDESC.COD_CODIGO, ACUMUL.FUN_MATRIC, SUM(ACUMUL.CAL_VALOR) AS CAL_VALOR<br />
FROM RENDESC<br />
LEFT JOIN ACUMUL<br />
ON RENDESC.COD_CODIGO = ACUMUL.COD_CODIGO<br />
AND ACUMUL.EMP_CODIGO = ’027&#8242; AND ACUMUL.CTE_MESPRO = ’201107&#8242;<br />
GROUP BY RENDESC.COD_CODIGO, ACUMUL.FUN_MATRIC</p>
<p>mas assim volta ao problema anterior</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Daniel Tibúrcio</title>
		<link>http://www.profissionaisti.com.br/2009/06/entendendo-outer-joins-sql-parte-1-produto-cartesiano/comment-page-1/#comment-48267</link>
		<dc:creator>Daniel Tibúrcio</dc:creator>
		<pubDate>Wed, 21 Dec 2011 18:22:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.profissionaisti.com.br/?p=2943#comment-48267</guid>
		<description>Deu certo, bastou trocar o WHERE por AND, assim:

SELECT RENDESC.COD_CODIGO, SUM(ACUMUL.CAL_VALOR) AS CAL_VALOR
FROM RENDESC
LEFT JOIN ACUMUL
ON RENDESC.COD_CODIGO = ACUMUL.COD_CODIGO
AND ACUMUL.EMP_CODIGO = ’027? AND ACUMUL.CTE_MESPRO = ’201107?
GROUP BY RENDESC.COD_CODIGO</description>
		<content:encoded><![CDATA[<p>Deu certo, bastou trocar o WHERE por AND, assim:</p>
<p>SELECT RENDESC.COD_CODIGO, SUM(ACUMUL.CAL_VALOR) AS CAL_VALOR<br />
FROM RENDESC<br />
LEFT JOIN ACUMUL<br />
ON RENDESC.COD_CODIGO = ACUMUL.COD_CODIGO<br />
AND ACUMUL.EMP_CODIGO = ’027? AND ACUMUL.CTE_MESPRO = ’201107?<br />
GROUP BY RENDESC.COD_CODIGO</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Daniel Tibúrcio</title>
		<link>http://www.profissionaisti.com.br/2009/06/entendendo-outer-joins-sql-parte-1-produto-cartesiano/comment-page-1/#comment-48265</link>
		<dc:creator>Daniel Tibúrcio</dc:creator>
		<pubDate>Wed, 21 Dec 2011 17:36:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.profissionaisti.com.br/?p=2943#comment-48265</guid>
		<description>Desistimos mesmo? Não deu para entender ter funcionado sem a cláusula WHERE (mostrou todos os códigos como eu queria) e não funcionar com ela (mostrou só os códigos existentes no arquivo, não todos)</description>
		<content:encoded><![CDATA[<p>Desistimos mesmo? Não deu para entender ter funcionado sem a cláusula WHERE (mostrou todos os códigos como eu queria) e não funcionar com ela (mostrou só os códigos existentes no arquivo, não todos)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Daniel Tibúrcio</title>
		<link>http://www.profissionaisti.com.br/2009/06/entendendo-outer-joins-sql-parte-1-produto-cartesiano/comment-page-1/#comment-47951</link>
		<dc:creator>Daniel Tibúrcio</dc:creator>
		<pubDate>Fri, 09 Dec 2011 16:24:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.profissionaisti.com.br/?p=2943#comment-47951</guid>
		<description>vamos desistir?</description>
		<content:encoded><![CDATA[<p>vamos desistir?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Daniel Tibúrcio</title>
		<link>http://www.profissionaisti.com.br/2009/06/entendendo-outer-joins-sql-parte-1-produto-cartesiano/comment-page-1/#comment-47904</link>
		<dc:creator>Daniel Tibúrcio</dc:creator>
		<pubDate>Wed, 07 Dec 2011 16:37:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.profissionaisti.com.br/?p=2943#comment-47904</guid>
		<description>INNER = mesma coisa

RIGHT = mesma coisa

WHERE antes dá erro de SQL

Complicado mesmo</description>
		<content:encoded><![CDATA[<p>INNER = mesma coisa</p>
<p>RIGHT = mesma coisa</p>
<p>WHERE antes dá erro de SQL</p>
<p>Complicado mesmo</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Fabricio C. Frontarolli</title>
		<link>http://www.profissionaisti.com.br/2009/06/entendendo-outer-joins-sql-parte-1-produto-cartesiano/comment-page-1/#comment-47900</link>
		<dc:creator>Fabricio C. Frontarolli</dc:creator>
		<pubDate>Wed, 07 Dec 2011 14:59:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.profissionaisti.com.br/?p=2943#comment-47900</guid>
		<description>ou coloca o WHERE antes do GROUP BY</description>
		<content:encoded><![CDATA[<p>ou coloca o WHERE antes do GROUP BY</p>
]]></content:encoded>
	</item>
</channel>
</rss>

