<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://sqlserver.ro/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>T-SQL</title><link>http://sqlserver.ro/forums/15/ShowForum.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>Re: Antete si detalii</title><link>http://sqlserver.ro/forums/thread/6068.aspx</link><pubDate>Wed, 05 Nov 2008 10:35:44 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:6068</guid><dc:creator>alinescoo</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/6068.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=6068</wfw:commentRss><description>Intr-adevar, asta este ceea ce cautam. Problema rezolvat. Va multumesc domnilor.</description></item><item><title>Re: Antete si detalii</title><link>http://sqlserver.ro/forums/thread/6067.aspx</link><pubDate>Wed, 05 Nov 2008 10:13:23 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:6067</guid><dc:creator>rsocol</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/6067.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=6067</wfw:commentRss><description>Se poate. Să presupunem că avem următorul query (în AdventureWorks):&lt;br&gt;&lt;br&gt;SELECT h.SalesOrderNumber, h.OrderDate, p.Name as ProductName, d.OrderQty &lt;br&gt;FROM Sales.SalesOrderHeader h&lt;br&gt;INNER JOIN Sales.SalesOrderDetail d ON h.SalesOrderID=d.SalesOrderID&lt;br&gt;INNER JOIN Production.Product p ON p.ProductID=d.ProductID&lt;br&gt;ORDER BY OrderDate, SalesOrderNumber, ProductName&lt;br&gt;&lt;br&gt;Atunci putem folosi ceva de genul:&lt;br&gt;&lt;br&gt;SELECT CASE WHEN n=1 THEN SalesOrderNumber END AS SalesOrderNumber,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CASE WHEN n=1 THEN OrderDate END AS OrderDate,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ProductName, OrderQty&lt;br&gt;FROM (&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT *, ROW_NUMBER() OVER (PARTITION BY SalesOrderNumber ORDER BY ProductName) as n&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM (&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT h.SalesOrderNumber, h.OrderDate, p.Name as ProductName, d.OrderQty &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; FROM Sales.SalesOrderHeader h&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; INNER JOIN Sales.SalesOrderDetail d ON h.SalesOrderID=d.SalesOrderID&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; INNER JOIN Production.Product p ON p.ProductID=d.ProductID&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ) x&lt;br&gt;) y ORDER BY y.OrderDate, y.SalesOrderNumber, ProductName&lt;br&gt;&lt;br&gt;Răzvan&lt;br&gt;</description></item><item><title>Re: Antete si detalii</title><link>http://sqlserver.ro/forums/thread/6066.aspx</link><pubDate>Wed, 05 Nov 2008 10:06:09 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:6066</guid><dc:creator>ignatandrei</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/6066.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=6066</wfw:commentRss><description>incearca cu ceva de forma&lt;br&gt;select&lt;br&gt;case when &lt;span id="intelliTxt"&gt;&lt;span id="_ctl0_ArticleText"&gt;Numar = &lt;/span&gt;&lt;/span&gt;&lt;span id="intelliTxt"&gt;&lt;span id="_ctl0_ArticleText"&gt;NumarContinuu&lt;/span&gt;&lt;/span&gt; then NrFact&lt;br&gt;else ' fact precedenta'&lt;br&gt;end as 'Pentru prima coloana din data grid', *&lt;br&gt;&lt;br&gt;from&lt;br&gt;(&lt;br&gt;select *,&lt;span id="intelliTxt"&gt;&lt;span id="_ctl0_ArticleText"&gt;RANK() Over (Order By &lt;/span&gt;&lt;/span&gt;NrFact &lt;span id="intelliTxt"&gt;&lt;span id="_ctl0_ArticleText"&gt;) as Numar, &lt;/span&gt;&lt;/span&gt;&lt;span id="intelliTxt"&gt;&lt;span id="_ctl0_ArticleText"&gt;Row_Number() Over (Order By &lt;/span&gt;&lt;/span&gt;&lt;span id="intelliTxt"&gt;&lt;span id="_ctl0_ArticleText"&gt;&lt;/span&gt;&lt;/span&gt;NrFact &lt;span id="intelliTxt"&gt;&lt;span id="_ctl0_ArticleText"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span id="intelliTxt"&gt;&lt;span id="_ctl0_ArticleText"&gt;) as NumarContinuu&lt;br&gt;) tabela_cu_numere&lt;br&gt;( ma rog, &lt;/span&gt;&lt;/span&gt;&lt;span id="intelliTxt"&gt;&lt;span id="_ctl0_ArticleText"&gt;tabela_cu_numere&lt;/span&gt;&lt;/span&gt;&lt;span id="intelliTxt"&gt;&lt;span id="_ctl0_ArticleText"&gt; poti sa o transformi in CTE)&lt;br&gt;&lt;/span&gt;&lt;/span&gt;</description></item><item><title>[Solved] Antete si detalii</title><link>http://sqlserver.ro/forums/thread/6065.aspx</link><pubDate>Wed, 05 Nov 2008 09:42:52 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:6065</guid><dc:creator>alinescoo</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/6065.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=6065</wfw:commentRss><description>As vrea sa fac o functie tabelara in SQL Server 2005 care sa ini returneze detalii despre facturi, atat din antete si din detalii. Facand un join intre tabele obtin ceva de genul:&lt;br /&gt;&lt;br /&gt;NrFact    Data Produs Cantitate&lt;br /&gt;Fact1       xxx    P1        10&lt;br /&gt;Fact1       xxx    P2         4&lt;br /&gt;Fact1       xxx    P3         3&lt;br /&gt;Fact2       yyy    P1         4&lt;br /&gt;Fact2       yyy    P3         2&lt;br /&gt;&lt;br /&gt;Deoarece pe partea de client nu pot face nici un fel de procesare a datelor, iar rezultatul este afisat intr-un grid, as vrea ca rezultatul sa arate un pic altfel:&lt;br /&gt;&lt;br /&gt;Fact1       xxx    P1        10&lt;br /&gt;P2         4&lt;br /&gt;P3         3&lt;br /&gt;Fact2       yyy    P1         4&lt;br /&gt;                       P3         2&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Este posibil sa obtin asa ceva direct dintr-o FUNCTIE TABLE-VALUED ? Va rog sa va dati cu parerea.&lt;br /&gt;&lt;br /&gt;PS:Nu stiu cum sa fac sa se afiseze corect rezultatul final. Ideea e ca une am NrFact si data, cand se repeta a doua oara sa nu il mai afisez ci sa fie spatiu gol.</description></item></channel></rss>