<?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>Comments on: MS-SQL Server: ruim como tudo o que a Microsoft faz</title>
	<atom:link href="http://simplesideias.com.br/ms-sql-server-ruim-como-tudo-o-que-a-microsoft-faz/feed/" rel="self" type="application/rss+xml" />
	<link>http://simplesideias.com.br/ms-sql-server-ruim-como-tudo-o-que-a-microsoft-faz/</link>
	<description></description>
	<pubDate>Tue, 06 Jan 2009 23:06:27 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Marcus</title>
		<link>http://simplesideias.com.br/ms-sql-server-ruim-como-tudo-o-que-a-microsoft-faz/comment-page-1/#comment-5403</link>
		<dc:creator>Marcus</dc:creator>
		<pubDate>Tue, 13 Mar 2007 17:27:09 +0000</pubDate>
		<guid isPermaLink="false">http://simplesideias.com.br/ms-sql-server-ruim-como-tudo-o-que-a-microsoft-faz/#comment-5403</guid>
		<description>Este problema já é cultural, não sabe usar a ferramenta e já sai dizendo que ele é ruim, imagino como a ferramenta pode ser ruim a ponto de dar suporte a uma empresa do porte da Xerox e não conseguir satisfazer uma simples consulta, que estava errada!</description>
		<content:encoded><![CDATA[<p>Este problema já é cultural, não sabe usar a ferramenta e já sai dizendo que ele é ruim, imagino como a ferramenta pode ser ruim a ponto de dar suporte a uma empresa do porte da Xerox e não conseguir satisfazer uma simples consulta, que estava errada!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Luiz Alberto</title>
		<link>http://simplesideias.com.br/ms-sql-server-ruim-como-tudo-o-que-a-microsoft-faz/comment-page-1/#comment-5322</link>
		<dc:creator>Luiz Alberto</dc:creator>
		<pubDate>Mon, 12 Mar 2007 20:32:39 +0000</pubDate>
		<guid isPermaLink="false">http://simplesideias.com.br/ms-sql-server-ruim-como-tudo-o-que-a-microsoft-faz/#comment-5322</guid>
		<description>.É impressionante como o desconhecimento sobre a linguagem torna esses comentário 

absurdo, acho companheiro que você deve estudar um pouco mais sobre linguagem sql!!!!!</description>
		<content:encoded><![CDATA[<p>.É impressionante como o desconhecimento sobre a linguagem torna esses comentário </p>
<p>absurdo, acho companheiro que você deve estudar um pouco mais sobre linguagem sql!!!!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sergio Arruda Pereira</title>
		<link>http://simplesideias.com.br/ms-sql-server-ruim-como-tudo-o-que-a-microsoft-faz/comment-page-1/#comment-2467</link>
		<dc:creator>Sergio Arruda Pereira</dc:creator>
		<pubDate>Wed, 31 Jan 2007 12:22:07 +0000</pubDate>
		<guid isPermaLink="false">http://simplesideias.com.br/ms-sql-server-ruim-como-tudo-o-que-a-microsoft-faz/#comment-2467</guid>
		<description>Já dizia Zaratrusta, o homem tem pavor do desconhecido, ele demonstra sua ignorancia  com gestos e palavras hostis.</description>
		<content:encoded><![CDATA[<p>Já dizia Zaratrusta, o homem tem pavor do desconhecido, ele demonstra sua ignorancia  com gestos e palavras hostis.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andre Hass</title>
		<link>http://simplesideias.com.br/ms-sql-server-ruim-como-tudo-o-que-a-microsoft-faz/comment-page-1/#comment-2000</link>
		<dc:creator>Andre Hass</dc:creator>
		<pubDate>Wed, 17 Jan 2007 17:44:45 +0000</pubDate>
		<guid isPermaLink="false">http://simplesideias.com.br/ms-sql-server-ruim-como-tudo-o-que-a-microsoft-faz/#comment-2000</guid>
		<description>Sem comentários, 
só lamento.... 

Acho que devemos ter mais conceito antes de criticar.. 

André Hass  Microsoft MVP Windows Server System - SQL Server</description>
		<content:encoded><![CDATA[<p>Sem comentários,<br />
só lamento&#8230;. </p>
<p>Acho que devemos ter mais conceito antes de criticar.. </p>
<p>André Hass  Microsoft MVP Windows Server System - SQL Server</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: VarDump</title>
		<link>http://simplesideias.com.br/ms-sql-server-ruim-como-tudo-o-que-a-microsoft-faz/comment-page-1/#comment-1712</link>
		<dc:creator>VarDump</dc:creator>
		<pubDate>Wed, 10 Jan 2007 12:05:59 +0000</pubDate>
		<guid isPermaLink="false">http://simplesideias.com.br/ms-sql-server-ruim-como-tudo-o-que-a-microsoft-faz/#comment-1712</guid>
		<description>Semana Complicada...

Já tiveram uma semana complicada, de bug atrás de bug? Os meus últimos dias da semana passada foram assim.

Eu e o Ricardo pegamos a missão de passar um certo trecho de código de Delphi para PHP. Como nem eu nem ele lembramos muito de Delphi, e ...</description>
		<content:encoded><![CDATA[<p>Semana Complicada&#8230;</p>
<p>Já tiveram uma semana complicada, de bug atrás de bug? Os meus últimos dias da semana passada foram assim.</p>
<p>Eu e o Ricardo pegamos a missão de passar um certo trecho de código de Delphi para PHP. Como nem eu nem ele lembramos muito de Delphi, e &#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Everton J. Carpes</title>
		<link>http://simplesideias.com.br/ms-sql-server-ruim-como-tudo-o-que-a-microsoft-faz/comment-page-1/#comment-1684</link>
		<dc:creator>Everton J. Carpes</dc:creator>
		<pubDate>Tue, 09 Jan 2007 18:07:52 +0000</pubDate>
		<guid isPermaLink="false">http://simplesideias.com.br/ms-sql-server-ruim-como-tudo-o-que-a-microsoft-faz/#comment-1684</guid>
		<description>Tche... depois da teoria aih acima... eu acabei pensando num hackzinho...

quando os demais campos desejados sao numeros, tu pode utilizar a funcao soma e somar o resultado com zero... 

SELECT collumn_01, SUM(collumn_02 + 0 ) FROM table_name GROUP BY collumn_01 ; 

Imagino que se alguem tiver uma FUNCAO que trabalhe sobre String fazendo nada, deve funfar tbm... 

Ou seja, ISSO EH UMA GAMBIARRA!
OBS.: experimentei usar o CAST (pq seria a maneira mais facil fazer cast pro proprio tipo como por exemplo cast de um varchar para varchar, etc) mas nao funfa.. eh uma pena... afinal essa seria uma solucao facil de ser usada em Adapters de queries :( 

Bem... quem manda querer fazer gambiarra!</description>
		<content:encoded><![CDATA[<p>Tche&#8230; depois da teoria aih acima&#8230; eu acabei pensando num hackzinho&#8230;</p>
<p>quando os demais campos desejados sao numeros, tu pode utilizar a funcao soma e somar o resultado com zero&#8230; </p>
<p>SELECT collumn_01, SUM(collumn_02 + 0 ) FROM table_name GROUP BY collumn_01 ; </p>
<p>Imagino que se alguem tiver uma FUNCAO que trabalhe sobre String fazendo nada, deve funfar tbm&#8230; </p>
<p>Ou seja, ISSO EH UMA GAMBIARRA!<br />
OBS.: experimentei usar o CAST (pq seria a maneira mais facil fazer cast pro proprio tipo como por exemplo cast de um varchar para varchar, etc) mas nao funfa.. eh uma pena&#8230; afinal essa seria uma solucao facil de ser usada em Adapters de queries :( </p>
<p>Bem&#8230; quem manda querer fazer gambiarra!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Everton J. Carpes</title>
		<link>http://simplesideias.com.br/ms-sql-server-ruim-como-tudo-o-que-a-microsoft-faz/comment-page-1/#comment-1683</link>
		<dc:creator>Everton J. Carpes</dc:creator>
		<pubDate>Tue, 09 Jan 2007 17:32:30 +0000</pubDate>
		<guid isPermaLink="false">http://simplesideias.com.br/ms-sql-server-ruim-como-tudo-o-que-a-microsoft-faz/#comment-1683</guid>
		<description>Ola pessoal...

Estava exatamente com o mesmo problema que o Nando Vieira e quando li o titulo do post, cheguei a mostrar para meu superior e comentar "Viu! Nao eh soh eu que falo isso..." hehe.

Mas pesquisando um pouco mais acabei por entender o que acontece realmente pro traz deste problema e descobri que estamos errados na nossa maneira de pensar!

Um ponto para MS!

O ponto aqui eh que tentar agrupar colunas nao agrupaveis eh uma acao ilogica!
O que o MySQL retorna eh um resultado no mino sem sentido nalgum, pois ele escolhe o valor dos demais campos que nao o da coluna de agrupamento, aleatoriamente!

Isso as vezes pode parecer pratico, mas eh no minimo inconssistente.

No helper do Enterprise Manager da MS, se tu pesquisar por grouping rows tu vais ver uma certa explicacao comentando sobre isso.

E quanto ao fato do SQL Server trazer resultados "errados" quando tu coloca todos os campos, isso nao eh verdade. Quando tu coloca todos os campos ele agrupa por todos, o que retorna um result set com tudo, afinal eh isso mesmo que tu pediu (soh que co o group by fica tudo organizadinho, hehe).

Abaixo vou postar uma parte do texto do helpper da MS:

ColumnA &#124; ColumnB &#124; ColumnC 
--------+---------+------- 
1 	&#124;  abc	  &#124; 5 
1 	&#124;  def 	  &#124; 4 
1 	&#124;  ghi    &#124; 9 
2 	&#124;  jkl 	  &#124; 8 
2 	&#124;  mno 	  &#124; 3 



If ColumnA is the grouping column, there will be two rows in the result set, one summarizing the information for the value 1, and the other summarizing the information for value 2.

When ColumnA is the grouping column, the only way ColumnB or ColumnC can be referenced is if they are parameters in an aggregate function that can return a single value for each value in ColumnA. It is legal for the select list to include expressions such as MAX(ColumnB), SUM(ColumnC), or AVG(ColumnC):

SELECT ColumnA,
       MAX(ColumnB) AS MaxB,
       SUM(ColumnC) AS SumC
FROM TableX
GROUP BY ColumnA

This select returns two rows, one for each unique value in ColumnA:

ColumnA &#124;   MaxB &#124; SumC        
--------+--------+------- 
1       &#124;    ghi &#124; 18          
2       &#124;    mno &#124; 11          

(2 row(s) affected)

It is not legal, however, to have just the expression ColumnB in the select list:

SELECT ColumnA,
       ColumnB,
       SUM(ColumnC) AS SumC
FROM TableX
GROUP BY ColumnA

Because the GROUP BY can return only one row with a value of 1 in ColumnA, there is no way to return the three values of ColumnB (abc, def, and ghi) associated with the value 1 in ColumnA.</description>
		<content:encoded><![CDATA[<p>Ola pessoal&#8230;</p>
<p>Estava exatamente com o mesmo problema que o Nando Vieira e quando li o titulo do post, cheguei a mostrar para meu superior e comentar &#034;Viu! Nao eh soh eu que falo isso&#8230;&#034; hehe.</p>
<p>Mas pesquisando um pouco mais acabei por entender o que acontece realmente pro traz deste problema e descobri que estamos errados na nossa maneira de pensar!</p>
<p>Um ponto para MS!</p>
<p>O ponto aqui eh que tentar agrupar colunas nao agrupaveis eh uma acao ilogica!<br />
O que o MySQL retorna eh um resultado no mino sem sentido nalgum, pois ele escolhe o valor dos demais campos que nao o da coluna de agrupamento, aleatoriamente!</p>
<p>Isso as vezes pode parecer pratico, mas eh no minimo inconssistente.</p>
<p>No helper do Enterprise Manager da MS, se tu pesquisar por grouping rows tu vais ver uma certa explicacao comentando sobre isso.</p>
<p>E quanto ao fato do SQL Server trazer resultados &#034;errados&#034; quando tu coloca todos os campos, isso nao eh verdade. Quando tu coloca todos os campos ele agrupa por todos, o que retorna um result set com tudo, afinal eh isso mesmo que tu pediu (soh que co o group by fica tudo organizadinho, hehe).</p>
<p>Abaixo vou postar uma parte do texto do helpper da MS:</p>
<p>ColumnA | ColumnB | ColumnC<br />
--------+---------+-------<br />
1 	|  abc	  | 5<br />
1 	|  def 	  | 4<br />
1 	|  ghi    | 9<br />
2 	|  jkl 	  | 8<br />
2 	|  mno 	  | 3 </p>
<p>If ColumnA is the grouping column, there will be two rows in the result set, one summarizing the information for the value 1, and the other summarizing the information for value 2.</p>
<p>When ColumnA is the grouping column, the only way ColumnB or ColumnC can be referenced is if they are parameters in an aggregate function that can return a single value for each value in ColumnA. It is legal for the select list to include expressions such as MAX(ColumnB), SUM(ColumnC), or AVG(ColumnC):</p>
<p>SELECT ColumnA,<br />
       MAX(ColumnB) AS MaxB,<br />
       SUM(ColumnC) AS SumC<br />
FROM TableX<br />
GROUP BY ColumnA</p>
<p>This select returns two rows, one for each unique value in ColumnA:</p>
<p>ColumnA |   MaxB | SumC<br />
--------+--------+-------<br />
1       |    ghi | 18<br />
2       |    mno | 11          </p>
<p>(2 row(s) affected)</p>
<p>It is not legal, however, to have just the expression ColumnB in the select list:</p>
<p>SELECT ColumnA,<br />
       ColumnB,<br />
       SUM(ColumnC) AS SumC<br />
FROM TableX<br />
GROUP BY ColumnA</p>
<p>Because the GROUP BY can return only one row with a value of 1 in ColumnA, there is no way to return the three values of ColumnB (abc, def, and ghi) associated with the value 1 in ColumnA.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: herval</title>
		<link>http://simplesideias.com.br/ms-sql-server-ruim-como-tudo-o-que-a-microsoft-faz/comment-page-1/#comment-1507</link>
		<dc:creator>herval</dc:creator>
		<pubDate>Fri, 05 Jan 2007 20:18:48 +0000</pubDate>
		<guid isPermaLink="false">http://simplesideias.com.br/ms-sql-server-ruim-como-tudo-o-que-a-microsoft-faz/#comment-1507</guid>
		<description>'a microsoft nao presta, bla, bla bla...' sempre essa ladainha...

no Oracle tb eh assim: as clausulas tem que estar no group by. Como o colega falou, isso eh SQL ANSI.</description>
		<content:encoded><![CDATA[<p>&#039;a microsoft nao presta, bla, bla bla&#8230;&#039; sempre essa ladainha&#8230;</p>
<p>no Oracle tb eh assim: as clausulas tem que estar no group by. Como o colega falou, isso eh SQL ANSI.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ricardo Gonçalves</title>
		<link>http://simplesideias.com.br/ms-sql-server-ruim-como-tudo-o-que-a-microsoft-faz/comment-page-1/#comment-1494</link>
		<dc:creator>Ricardo Gonçalves</dc:creator>
		<pubDate>Fri, 05 Jan 2007 15:41:07 +0000</pubDate>
		<guid isPermaLink="false">http://simplesideias.com.br/ms-sql-server-ruim-como-tudo-o-que-a-microsoft-faz/#comment-1494</guid>
		<description>Seguir o padrão Sql-ANSI você não terá problema nenhum, independente de qualquer banco</description>
		<content:encoded><![CDATA[<p>Seguir o padrão Sql-ANSI você não terá problema nenhum, independente de qualquer banco</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pretto</title>
		<link>http://simplesideias.com.br/ms-sql-server-ruim-como-tudo-o-que-a-microsoft-faz/comment-page-1/#comment-1476</link>
		<dc:creator>Pretto</dc:creator>
		<pubDate>Fri, 05 Jan 2007 02:17:29 +0000</pubDate>
		<guid isPermaLink="false">http://simplesideias.com.br/ms-sql-server-ruim-como-tudo-o-que-a-microsoft-faz/#comment-1476</guid>
		<description>SQL-ANSI diz que:
Todas as colunas que não possuem funções agregadas devem estar em um GROUP BY.

usar MAX pode ser util se for retornar apenas a maior... o correto seria usar DISTINCT apenas para remover repetições...

E por incrivel que pareça a MS tem ótimos produtos, não devemos taxar tudo de ruim apenas por não ser SL, alguem já viu algum programa melhor q o Project??? ou o VISIO? tem vários ai que tentam fazer parecido.. mas não funcionam...

Deviamos deixar as preferencias de lado. A Cézar o que é de Cézar!!!

O MySql nem implementava integridade referencial ate a versao anterior :S

Vamos analizar antes de formar nossas opiniões... :)

Nada se compara ao Oracle, porém tudo tem sua aplicação :)
Abraços</description>
		<content:encoded><![CDATA[<p>SQL-ANSI diz que:<br />
Todas as colunas que não possuem funções agregadas devem estar em um GROUP BY.</p>
<p>usar MAX pode ser util se for retornar apenas a maior&#8230; o correto seria usar DISTINCT apenas para remover repetições&#8230;</p>
<p>E por incrivel que pareça a MS tem ótimos produtos, não devemos taxar tudo de ruim apenas por não ser SL, alguem já viu algum programa melhor q o Project??? ou o VISIO? tem vários ai que tentam fazer parecido.. mas não funcionam&#8230;</p>
<p>Deviamos deixar as preferencias de lado. A Cézar o que é de Cézar!!!</p>
<p>O MySql nem implementava integridade referencial ate a versao anterior :S</p>
<p>Vamos analizar antes de formar nossas opiniões&#8230; :)</p>
<p>Nada se compara ao Oracle, porém tudo tem sua aplicação :)<br />
Abraços</p>
]]></content:encoded>
	</item>
</channel>
</rss>
