<?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: operatorul cross apply</title><link>http://sqlserver.ro/forums/thread/5414.aspx</link><pubDate>Fri, 01 Aug 2008 07:25:37 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5414</guid><dc:creator>crestinul</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5414.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=5414</wfw:commentRss><description>Multumesc mult tutoror in special llui Bigdan m-am mai lamurit si eu ,finally &lt;img src="http://sqlserver.ro/emoticons/emotion-1.gif" alt="Smile" /&gt;</description></item><item><title>Re: operatorul cross apply</title><link>http://sqlserver.ro/forums/thread/5409.aspx</link><pubDate>Thu, 31 Jul 2008 16:30:11 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5409</guid><dc:creator>B_gd_n[ ]Sahlean</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5409.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=5409</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://sqlserver.ro/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;crestinul:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Buna ziua,&lt;/p&gt;
&lt;p&gt;Am incercat sa inteleg cum functioneaza acest operator dar nu am inteles.Imi puteti explica va rog ,eventua un scenariu in care sa fie folosit ,l-at folosit in proiecte reale in productie?&lt;/p&gt;
&lt;p&gt;Multumesc&lt;/p&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;Exemplu teoretic:&lt;br&gt;&lt;br&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CREATE&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;TABLE&lt;/span&gt; T&lt;br&gt;(&lt;br&gt;Nr &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INT&lt;/span&gt; &lt;span style="color:Silver;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;NOT&lt;/span&gt; &lt;span style="color:Silver;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;NULL&lt;/span&gt;,&lt;br&gt;Caracter &lt;span style="color:Fuchsia;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CHAR&lt;/span&gt;(1) &lt;span style="color:Silver;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;NOT&lt;/span&gt; &lt;span style="color:Silver;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;NULL&lt;/span&gt;&lt;br&gt;);&lt;br&gt;GO&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INSERT&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INTO&lt;/span&gt; T &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;VALUES&lt;/span&gt; (0,&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'-'&lt;/span&gt;);&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INSERT&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INTO&lt;/span&gt; T &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;VALUES&lt;/span&gt; (1,&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'A'&lt;/span&gt;);&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INSERT&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INTO&lt;/span&gt; T &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;VALUES&lt;/span&gt; (2,&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'B'&lt;/span&gt;);&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INSERT&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INTO&lt;/span&gt; T &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;VALUES&lt;/span&gt; (3,&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'C'&lt;/span&gt;);&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INSERT&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INTO&lt;/span&gt; T &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;VALUES&lt;/span&gt; (0,&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'='&lt;/span&gt;);&lt;br&gt;GO&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;--Functia genereaza un set de  inregistrari&lt;/span&gt;&lt;br&gt;&lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;--care contine un numar de inregistrari (linii)&lt;/span&gt;&lt;br&gt;&lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;--egal cu valoarea @parametru[ului].&lt;br&gt;--Deci daca @parametru[l] are valoarea 2 atunci dbo.F(2) genereaza un set de 2 inregistrari.&lt;br&gt;--&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Daca @parametru[l] are valoarea 0 atunci dbo.F(0) nu genereaza inregistrari.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CREATE&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FUNCTION&lt;/span&gt; dbo.F(@parametru &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INT&lt;/span&gt;) &lt;br&gt;RETURNS @rezultat &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;TABLE&lt;/span&gt; (Camp1 &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INT&lt;/span&gt;)&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;BEGIN&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DECLARE&lt;/span&gt; @i &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INT&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SET&lt;/span&gt; @i = 1&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;WHILE&lt;/span&gt; ( @i &amp;lt;= @parametru )&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;BEGIN&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INSERT&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INTO&lt;/span&gt; @rezultat &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;VALUES&lt;/span&gt; ( @i*10 )&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SET&lt;/span&gt; @i = @i + 1&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;END&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;RETURN&lt;/span&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;END&lt;/span&gt;;&lt;br&gt;GO&lt;br&gt;&lt;br&gt;&lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;--Query1&lt;/span&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SELECT&lt;/span&gt; T.*, FN.*&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; T &lt;span style="color:Silver;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CROSS&lt;/span&gt; APPLY dbo.F(T.Nr) &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; FN&lt;br&gt;&lt;br&gt;&lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;--Query2&lt;/span&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SELECT&lt;/span&gt; T.*, FN.*&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; T &lt;span style="color:Silver;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OUTER&lt;/span&gt; APPLY dbo.F(T.Nr) &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; FN&lt;br&gt;GO&lt;br&gt;&lt;/span&gt;&lt;br&gt;Rezultate:&lt;br&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;--Query1&lt;/span&gt;&lt;br&gt;1&amp;nbsp;&amp;nbsp;A&amp;nbsp;&amp;nbsp;10&lt;br&gt;2&amp;nbsp;&amp;nbsp;B&amp;nbsp;&amp;nbsp;10&lt;br&gt;2&amp;nbsp;&amp;nbsp;B&amp;nbsp;&amp;nbsp;20&lt;br&gt;3&amp;nbsp;&amp;nbsp;C&amp;nbsp;&amp;nbsp;10&lt;br&gt;3&amp;nbsp;&amp;nbsp;C&amp;nbsp;&amp;nbsp;20&lt;br&gt;3&amp;nbsp;&amp;nbsp;C&amp;nbsp;&amp;nbsp;30&lt;br&gt;&lt;br&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;--Query2&lt;/span&gt;&lt;br&gt;0&amp;nbsp;&amp;nbsp;-&amp;nbsp;&amp;nbsp;&lt;span style="color:Silver;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;NULL&lt;/span&gt;    &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;-- &amp;lt;= dbo.F nu a generat nici o inregistrare pentru dbo.F(0) deci se afiseaza NULL&lt;/span&gt;&lt;br&gt;1&amp;nbsp;&amp;nbsp;A&amp;nbsp;&amp;nbsp;10&lt;br&gt;2&amp;nbsp;&amp;nbsp;B&amp;nbsp;&amp;nbsp;10&lt;br&gt;2&amp;nbsp;&amp;nbsp;B&amp;nbsp;&amp;nbsp;20&lt;br&gt;3&amp;nbsp;&amp;nbsp;C&amp;nbsp;&amp;nbsp;10&lt;br&gt;3&amp;nbsp;&amp;nbsp;C&amp;nbsp;&amp;nbsp;20&lt;br&gt;3&amp;nbsp;&amp;nbsp;C&amp;nbsp;&amp;nbsp;30&lt;br&gt;0&amp;nbsp;&amp;nbsp;=&amp;nbsp;&amp;nbsp;&lt;span style="color:Silver;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;NULL&lt;/span&gt;   &lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;-- &amp;lt;= dbo.F nu a generat nici o inregistrare pentru dbo.F(0) deci se afiseaza NULL&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;Intr-un fel, CROSS APPLY permite joncţiunea tip INNER JOIN (desi, poate ca unii ar zice CROSS JOIN) a înregistrărilor dintr-o sursă (inclusiv o funcţie ...) cu înregistrările generate de o funcţie T-SQL tip TABLE (si nu numai) , condiţia de joncţiune fiind &lt;i&gt;&lt;b&gt;inclusă&lt;/b&gt;&lt;/i&gt; în funcţia din dreapta joncţiunii.&lt;br&gt;&lt;br&gt;Oarecum, OUTER APPLY permite joncţiunea tip LEFT OUTER JOIN a înregistrărilor dintr-o
sursă cu înregistrările generate de o funcţie T-SQL tip TABLE (si nu numai) ,
condiţia de joncţiune fiind &lt;i&gt;&lt;b&gt;inclusă&lt;/b&gt;&lt;/i&gt; în funcţia din dreapta joncţiunii.&lt;br&gt;&lt;br&gt;+&lt;br&gt;&lt;br&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CREATE&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FUNCTION&lt;/span&gt; dbo.fT() &lt;br&gt;RETURNS &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;TABLE&lt;/span&gt; &lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;RETURN&lt;/span&gt;&amp;nbsp;&amp;nbsp;(&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SELECT&lt;/span&gt; Nr, Caracter&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;(&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SELECT&lt;/span&gt; 0 &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; Nr,&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'-'&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; Caracter&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;UNION&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SELECT&lt;/span&gt; 1,&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'A'&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;UNION&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SELECT&lt;/span&gt; 2,&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'B'&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;UNION&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SELECT&lt;/span&gt; 3,&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'C'&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;UNION&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SELECT&lt;/span&gt; 0,&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'='&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;) &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; Q)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br&gt;&lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;--Query3&lt;/span&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SELECT&lt;/span&gt; T.*, FN.*&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; dbo.fT() &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; T &lt;span style="color:Silver;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CROSS&lt;/span&gt; APPLY dbo.F(T.Nr) &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; FN&lt;br&gt;&lt;br&gt;&lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;--Query4&lt;/span&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SELECT&lt;/span&gt; T.*, FN.*&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; dbo.fT() &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; T &lt;span style="color:Silver;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OUTER&lt;/span&gt; APPLY dbo.F(T.Nr) &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; FN&lt;br&gt;&lt;br&gt;De asemenea vezi ce rezultate obtii în urmatoarele exemple:&lt;br&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;--Query5 (unde T este tabela de mai sus)&lt;/span&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SELECT&lt;/span&gt; *&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; dbo.fT() &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; A &lt;span style="color:Silver;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CROSS&lt;/span&gt; APPLY T &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; B&lt;br&gt;&lt;br&gt;&lt;span style="color:Teal;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;--Query6&lt;/span&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SELECT&lt;/span&gt; *&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; dbo.fT() &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; A &lt;span style="color:Silver;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OUTER&lt;/span&gt; APPLY T &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; B&lt;/span&gt;&lt;br&gt;&lt;/span&gt;</description></item><item><title>Re: operatorul cross apply</title><link>http://sqlserver.ro/forums/thread/5408.aspx</link><pubDate>Thu, 31 Jul 2008 16:22:20 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5408</guid><dc:creator>rsocol</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5408.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=5408</wfw:commentRss><description>Un alt exemplu: &lt;a href="http://www.sommarskog.se/arrays-in-sql-2005.html#tablelists"&gt;http://www.sommarskog.se/arrays-in-sql-2005.html#tablelists&lt;/a&gt;&lt;br&gt;&lt;br&gt;Răzvan&lt;br&gt;</description></item><item><title>Re: operatorul cross apply</title><link>http://sqlserver.ro/forums/thread/5406.aspx</link><pubDate>Thu, 31 Jul 2008 14:48:43 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5406</guid><dc:creator>Diana</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5406.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=5406</wfw:commentRss><description>&lt;P&gt;Ce nu intelegi din exemplul BOL?&lt;/P&gt;
&lt;P&gt;Vezi daca &lt;A href="http://www.sqlteam.com/article/using-cross-apply-in-sql-server-2005"&gt;http://www.sqlteam.com/article/using-cross-apply-in-sql-server-2005&lt;/A&gt;&amp;nbsp;ti se pare mai clar...&lt;/P&gt;</description></item><item><title>operatorul cross apply</title><link>http://sqlserver.ro/forums/thread/5405.aspx</link><pubDate>Thu, 31 Jul 2008 14:38:02 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5405</guid><dc:creator>crestinul</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5405.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=5405</wfw:commentRss><description>&lt;P&gt;Buna ziua,&lt;/P&gt;
&lt;P&gt;Am incercat sa inteleg cum functioneaza acest operator dar nu am inteles.Imi puteti explica va rog ,eventua un scenariu in care sa fie folosit ,l-at folosit in proiecte reale in productie?&lt;/P&gt;
&lt;P&gt;Multumesc&lt;/P&gt;</description></item></channel></rss>