<?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>Intrebari</title><link>http://sqlserver.ro/forums/14/ShowForum.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>Re: Merge replication, join filter pe relatii m:n</title><link>http://sqlserver.ro/forums/thread/5324.aspx</link><pubDate>Tue, 15 Jul 2008 21:09:45 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5324</guid><dc:creator>Cryogenic1981</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5324.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=5324</wfw:commentRss><description>Da, asa functioneaza filtrarea pe primul nivel, insa nivelurile urmatoare sunt filtrade de tabelele de prim nivel prin join filter.&lt;br&gt;</description></item><item><title>Re: Merge replication, join filter pe relatii m:n</title><link>http://sqlserver.ro/forums/thread/5323.aspx</link><pubDate>Tue, 15 Jul 2008 16:15:48 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5323</guid><dc:creator>B_gd_n[ ]Sahlean</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5323.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=5323</wfw:commentRss><description>O soluţie inspirată de &lt;a href="http://msdn.microsoft.com/en-us/library/ms365153.aspx"&gt;MSDN&lt;/a&gt; ar fi:&lt;br&gt;[1] creezi o tabela Parametru cu un singur câmp ID care este şi cheie primară. Aici inserezi ID-uri în funcţie care care se va realiza filtrare&lt;br&gt;[2] în tabela CompanyRelation se adaugă un câmp Replicate de tip bit&lt;br&gt;[3] în Publication se adaugă la "Filter Rows" condiţia Replicate = 1&lt;br&gt;[4] în job-ul tip REPL-merge&amp;nbsp; adaugi&amp;nbsp; o etapă (step) tip "T-SQL Script" înainte de etapa "Run Agent" &lt;br&gt;&lt;img src="http://img134.imageshack.us/img134/1563/sqlmrgreprz4.gif"&gt;&lt;br&gt;[5] inserezi codurile în funcţie de care se doreşte filtrarea la "Merge Replication" şi lansezi sincronizarea&lt;br&gt;&lt;br&gt;Tehnica se poate aplica cu mici variaţiuni şi pe tabela Company.&lt;br&gt;</description></item><item><title>Re: Merge replication, join filter pe relatii m:n</title><link>http://sqlserver.ro/forums/thread/5315.aspx</link><pubDate>Tue, 15 Jul 2008 10:12:26 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5315</guid><dc:creator>B_gd_n[ ]Sahlean</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5315.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=5315</wfw:commentRss><description>[1] Aplicaţia care ruleaza pe Pocket PC modifică datele din Company şi CompanyRelations în sensul că modifică/şterge înregistrările copiate de la Publisher ?&lt;br&gt;Dacă nu, atunci poţi încerca să implementezi o procedură stocată care să realizeze sincronizare. În plus va fi (mai mult ca sigur) mai rapidă decât ce ofera SQL Server.&lt;br&gt;&lt;br&gt;/&lt;br&gt;&lt;br&gt;[2] Cum ai definit filtrul "... filtrul trebuie pus pe Compania cu ID = 1, se adauga automat in filtru si compania cu ID = 3 ..." ? &lt;br&gt;Filtrul e definit pe &lt;u&gt;Company&lt;/u&gt; sau/şi pe CompanyRelation ?&lt;br&gt;</description></item><item><title>Re: Merge replication, join filter pe relatii m:n</title><link>http://sqlserver.ro/forums/thread/5314.aspx</link><pubDate>Tue, 15 Jul 2008 09:45:52 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5314</guid><dc:creator>Cryogenic1981</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5314.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=5314</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;B_gd_n[ ]Sahlean:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://sqlserver.ro/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Cryogenic1981:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;...&lt;br&gt;Aici s-ar putea folosi o table valued function care sa intoarca o lista de ID-uri de Company, insa e o problema daca fac asa, adica la prima sincronizare totul merge ok, dar cand se shimba filtrul pe tabela Company (nu se sqhimba query-ul ci se doar se filtreaza diferit in functie de context), tabela CompanyRelations nu se mai filtreaza, ramane cu acelasi filtru.&lt;br&gt;...&lt;br&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;Trebuie initializata din nou subscriptia si apoi lansezi sincronizarea.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;&lt;br&gt;Din pacate asta nu e o solutie pentru ca initializarea subscriptiei + transferul snapshot-ului dureaza minute bune, (10+) prin gprs. Filtrarea a fost creata pentru ca volumul de date la client e foarte mare fara nici un filtru aplicat (Problema de de spatiu pe pocket PC), dar si timpul in care se efectueaza o sincronizare e important. (Fara reinitializarea subscriptiei, timpul de sincronizare e de cateva secunde (10-20), pentru ca se transfera doar row-urile "delta" intre publisher si subscriber).&lt;br&gt;&lt;br&gt;Solutia actuala e una care nu-mi place foarte mult, dar functioneaza, si anume daca se filtrezz tabela Company in functie de anumite ID-uri, se includ automat si ID-urile de companie care au relatie intre ele.&lt;br&gt;&lt;br&gt;De ex daca exista urmatoarele row-uri:&lt;br&gt;&lt;br&gt;[Company]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [CompanyRelation]&lt;br&gt;ID, CompanyName&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CompanyID, CompanyRefID&lt;br&gt;1&amp;nbsp;&amp;nbsp; Company1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;br&gt;2&amp;nbsp;&amp;nbsp; Company2&lt;br&gt;3&amp;nbsp;&amp;nbsp; Company3&lt;br&gt;&lt;br&gt;iar filtrul trebuie pus pe Compania cu ID = 1, se adauga automat in filtru si compania cu ID = 3, astfel incat atunci cand se replica row-ul (1,3) din CompanyRelation sa nu apara eroare de integritate referentiala, insa in acest fell am dus date in plus pe client (inutile).&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Re: Merge replication, join filter pe relatii m:n</title><link>http://sqlserver.ro/forums/thread/5313.aspx</link><pubDate>Tue, 15 Jul 2008 08:27:24 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5313</guid><dc:creator>B_gd_n[ ]Sahlean</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5313.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=5313</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;Cryogenic1981:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;...&lt;br&gt;Aici s-ar putea folosi o table valued function care sa intoarca o lista de ID-uri de Company, insa e o problema daca fac asa, adica la prima sincronizare totul merge ok, dar cand se shimba filtrul pe tabela Company (nu se sqhimba query-ul ci se doar se filtreaza diferit in functie de context), tabela CompanyRelations nu se mai filtreaza, ramane cu acelasi filtru.&lt;br&gt;...&lt;br&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;Trebuie initializata din nou subscriptia si apoi lansezi sincronizarea.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Re: Merge replication, join filter pe relatii m:n</title><link>http://sqlserver.ro/forums/thread/5312.aspx</link><pubDate>Mon, 14 Jul 2008 10:04:10 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5312</guid><dc:creator>Cryogenic1981</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5312.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=5312</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;B_gd_n[ ]Sahlean:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;join filtrer e&lt;br&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;[Company].[IDCompany] = [CompanyRef].[CompanyID]&lt;br&gt;&lt;u&gt;&lt;b&gt;&lt;span style="color:Silver;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OR&lt;/span&gt;&lt;br&gt;[Company].[IDCompany] = [CompanyRef].[CompanyRefID]&lt;/b&gt;&lt;/u&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&gt;&lt;br&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;&lt;br&gt;Daca creez in acest fell filtrul, tabela [CompanyRelation] filtrata v-a contine row-uri cu FK-uri spre tabela [Company] care nu exista pe client. iti dau un exemplu:&lt;br&gt;&lt;br&gt;in tabela Company: &lt;br&gt;&lt;br&gt;ID, Name&lt;br&gt;1&amp;nbsp;&amp;nbsp; Company1&lt;br&gt;2&amp;nbsp;&amp;nbsp; Company2&lt;br&gt;3&amp;nbsp; Company 3&lt;br&gt;&lt;br&gt;iar in tabela CompanyRelation urmatoarele row-uri:&lt;br&gt;CompanyID, CompanyRefID&lt;br&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;br&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;br&gt;&lt;br&gt;&lt;br&gt;Daca tabela Company e filtrata dinamic asfel incat sa se replice Companiile cu ID 1 si 2, filtrul de join va face sa se replice si row-ul (1, 3), iar pe client v-a aparea o eroare de integritate referentiala, adica se v-a incerca inserarea uneii liniii in CompanyRelation cu FK = 3, iar row-ul din Company cu ID = 3 nu exista.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Re: Merge replication, join filter pe relatii m:n</title><link>http://sqlserver.ro/forums/thread/5311.aspx</link><pubDate>Mon, 14 Jul 2008 09:57:40 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5311</guid><dc:creator>Cryogenic1981</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5311.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=5311</wfw:commentRss><description>Nu pot folosi CROSS APPLY intr-un filtru join de "merge replication".&lt;br&gt;&lt;br&gt;Eu trebuie sa dau ce urmeaza dupa "SELECT &amp;lt;replicated fields&amp;gt; FROM [ParentTable]&lt;br&gt;INNER JOIN [ChildTable] ON", doar de aici inainte pot scrie clauza de join, nu pot shimba join-ul respectiv in outer join sau cross apply sau alt tip de join, pentru ca SQL serverul creaza pana la acel&amp;nbsp; punct selectul si concateneaza conditia de join care o specific eu.&lt;br&gt;&lt;br&gt;Mai specific, un join filter se creaza in felul urmator, exemplu din MSDN :&lt;br&gt;&lt;br&gt;&lt;pre class="libCScode" id="ctl00_rs1_mainContentContainer_ctl26other"&gt;-- Add a merge join filter between SalesOrderHeader and SalesOrderDetail.&lt;br&gt;EXEC sp_addmergefilter &lt;br&gt;  @publication = @publication, &lt;br&gt;  @article = @table3, &lt;br&gt;  @filtername = N'SalesOrderDetail_SalesOrderHeader', &lt;br&gt;  @join_articlename = @table2, &lt;br&gt;  @join_filterclause = N'SalesOrderHeader.SalesOrderID = SalesOrderDetail.SalesOrderID', &lt;br&gt;  @join_unique_key = 1, &lt;br&gt;  @filter_type = 1, &lt;br&gt;  @force_invalidate_snapshot = 1, &lt;br&gt;  @force_reinit_subscription = 1;&lt;br&gt;GO&lt;br&gt;&lt;/pre&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Re: Merge replication, join filter pe relatii m:n</title><link>http://sqlserver.ro/forums/thread/5310.aspx</link><pubDate>Sun, 13 Jul 2008 20:27:43 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5310</guid><dc:creator>B_gd_n[ ]Sahlean</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5310.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=5310</wfw:commentRss><description>join filtrer e&lt;br&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;[Company].[IDCompany] = [CompanyRef].[CompanyID]&lt;br&gt;&lt;u&gt;&lt;b&gt;&lt;span style="color:Silver;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OR&lt;/span&gt;&lt;br&gt;[Company].[IDCompany] = [CompanyRef].[CompanyRefID]&lt;/b&gt;&lt;/u&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&gt;&lt;br&gt;</description></item><item><title>Re: Merge replication, join filter pe relatii m:n</title><link>http://sqlserver.ro/forums/thread/5303.aspx</link><pubDate>Fri, 11 Jul 2008 11:47:03 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5303</guid><dc:creator>B_gd_n[ ]Sahlean</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5303.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=5303</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;Cryogenic1981:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;Pai trebuie sa filtrez tabela CompanyRelations in functie de tabela Company care e filtrata dinamic, adica nu pot pune conditii de genul IN (1,2) pentru ca aste e filtrare statica. &lt;br&gt;&lt;br&gt;&lt;u&gt;Aici s-ar putea folosi o table valued function care sa intoarca o lista de ID-uri de Company, insa e o problema daca fac asa, adica la prima sincronizare totul merge ok, dar cand se shimba filtrul pe tabela Company (nu se sqhimba query-ul ci se doar se filtreaza diferit in functie de context), tabela CompanyRelations nu se mai filtreaza, ramane cu acelasi filtru.&lt;/u&gt;&lt;br&gt;&lt;br&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;Încearcă să indici faptul că funcţia respectivă este nondeterministă inserând în codul sursă al acesteia, apelul unei functii nondeterministe sistem cum ar fi GETDATE().&lt;br&gt;&lt;br&gt;Dacă foloseşti acea funcţie care returnează o tabelă, încearcă să modifici tipul joncţiunii în CROSS/OUTER APPLY:&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; FunctiaPestelui(@p &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;TINYINT&lt;/span&gt;)&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;&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;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SELECT&lt;/span&gt; &lt;span style="color:Fuchsia;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;POWER&lt;/span&gt;(10,@p) &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; ID )&lt;br&gt;GO&lt;br&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;INTO&lt;/span&gt; TabelaPestelui&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; &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; 10 &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; ID,&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'B'&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; Nume,1 &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;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; 100,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'C'&lt;/span&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&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; 3333,&amp;nbsp;&amp;nbsp;&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'D'&lt;/span&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&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; 10000,&amp;nbsp;&amp;nbsp;&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'E'&lt;/span&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&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; 555555,&amp;nbsp;&amp;nbsp;&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'F'&lt;/span&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&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; Sursa&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;--OK&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; TabelaPestelui &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; TP&lt;br&gt;&amp;nbsp;&amp;nbsp;&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.FunctiaPestelui(TP.Nr) &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; T2 &lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;WHERE&lt;/span&gt; TP.ID = T2.ID&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;--Eroare&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; TabelaPestelui &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; TP&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;INNER&lt;/span&gt; &lt;span style="color:Silver;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;JOIN&lt;/span&gt; dbo.FunctiaPestelui(TP.Nr) &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; T2 &lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ON&lt;/span&gt; TP.ID = T2.ID&lt;/span&gt;&lt;br&gt;</description></item><item><title>Re: Merge replication, join filter pe relatii m:n</title><link>http://sqlserver.ro/forums/thread/5293.aspx</link><pubDate>Wed, 09 Jul 2008 08:10:21 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5293</guid><dc:creator>Cryogenic1981</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5293.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=5293</wfw:commentRss><description>Pai trebuie sa filtrez tabela CompanyRelations in functie de tabela Company care e filtrata dinamic, adica nu pot pune conditii de genul IN (1,2) pentru ca aste e filtrare statica. &lt;br&gt;&lt;br&gt;Aici s-ar putea folosi o table valued function care sa intoarca o lista de ID-uri de Company, insa e o problema daca fac asa, adica la prima sincronizare totul merge ok, dar cand se shimba filtrul pe tabela Company (nu se sqhimba query-ul ci se doar se filtreaza diferit in functie de context), tabela CompanyRelations nu se mai filtreaza, ramane cu acelasi filtru.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Re: Merge replication, join filter pe relatii m:n</title><link>http://sqlserver.ro/forums/thread/5289.aspx</link><pubDate>Tue, 08 Jul 2008 08:46:48 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5289</guid><dc:creator>ggciubuc</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5289.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=5289</wfw:commentRss><description>&lt;P&gt;Dar WHERE&amp;nbsp; (dbo.CompanyRelations.CompanyRefID IN (1, 2)) AND (dbo.CompanyRelations.CompanyID IN (1, 2))&amp;nbsp; ca si conditie de filtrare n-ar merge ?&lt;/P&gt;
&lt;P&gt;Adica sa pui filtru pe ambele chei si in felul acesta n-ar mai aparea compania cu id-ul 3&lt;/P&gt;</description></item><item><title>Merge replication, join filter pe relatii m:n</title><link>http://sqlserver.ro/forums/thread/5288.aspx</link><pubDate>Tue, 08 Jul 2008 08:04:42 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5288</guid><dc:creator>Cryogenic1981</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5288.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=5288</wfw:commentRss><description>&lt;br&gt;Am urmatoare problema,&lt;br&gt;&lt;br&gt;trebuie sa filtrez dinamic o replica in SQL Server 2005 cu subscriptii SQL Compact 3.5 si am urmatorul scenariu, o tabela Company si o tabela CompanyRelations care e folosita pentru a crea relatii m:n intre comapanii:&lt;br&gt;&lt;br&gt;Table : [Company] ( IDCompany PK identity, &amp;lt;restul coloanelor ...&amp;gt;)&lt;br&gt;Table:&amp;nbsp; [CompanyRelations] (CompanyID FK references IDCompany , CompanyRefID FK references IDCompany,&amp;lt;restul coloanelor ...&amp;gt;)&lt;br&gt;&lt;br&gt;Deci tabela CompanyRelations are 2 FK-uri spre tabela Company, iar eu trebuie sa folosesc un join filter pentru a filtra tabela CompanyRelations in functie de tabela Company.&lt;br&gt;&lt;br&gt;Ce se intampla in cazul meu:&lt;br&gt;&lt;br&gt;Am de ex urmatoarele date:&lt;br&gt;&lt;br&gt;[Company]&lt;br&gt;&lt;br&gt;ID, Name&lt;br&gt;1&amp;nbsp;&amp;nbsp; Company1&lt;br&gt;2&amp;nbsp;&amp;nbsp; Company2&lt;br&gt;3&amp;nbsp;&amp;nbsp; Company3&lt;br&gt;&lt;br&gt;[CompanyRelations]&lt;br&gt;&lt;br&gt;CompanyID, CompanyRefID&lt;br&gt;1&amp;nbsp; 2&lt;br&gt;1&amp;nbsp; 3&lt;br&gt;&lt;br&gt;Daca tabela Company e filtrata pernu ID-urile 1 si 2 iar join filtrer e&amp;nbsp; [Company].[IDCompany] = [CompanyRef].[CompanyID]&lt;br&gt;&lt;br&gt;atunci prin join filter se filtreaza row-urile (1 2) si (1 3) din CompanyRelations. Row-ul (1 3) va ajunge pe subscriber fara ca sa existe compania cu ID 3 si de aici sincronizarea da o eroare de referential integrity la insert.&lt;br&gt;&lt;br&gt;Eu trebuie sa filtrez tabela CompanyRelations astfel incat sa contina row-uri ce fac referire la companiiile filtrate prin ambele foreign key-uri. insa un join filter nu ma lasa sa spefifit decat clauza de join adica ce vine dupa Join [table] ON ...&lt;br&gt;&lt;br&gt;As aprecia daca ar putea cineva sa-mi dea un hint cum as putea sa filtrez o tabela de relatii m:n pentru merge replication in functie de alta tabela.&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mersi,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cata&lt;br&gt;&lt;br&gt;</description></item></channel></rss>