Use a udf for this. So it would look like this
SELECT <Publizierte_Spalten> FROM [dbo].[Benutzer] WHERE [Benutzer].Hostname
=dbo.MyUdf(Host_name())
And incorporate your subselect in the udf.
--
Looking for a SQL Server replication book?
http://www.nwsu.com/0974973602.html Looking for a FAQ on Indexing Services/SQL FTS
http://www.indexserverfaq.com [quoted text, click to view] "Mathias Gruen" <e-matt@gmx.at> wrote in message
news:a2397$467a9adb$d4ec132a$8194@news.inode.at...
>I use merge replication on a SQL 2000 SP4 with dynamic row filtering. It
>has been working fine for years.
> This was the filter query:
>
> SELECT <Publizierte_Spalten> FROM [dbo].[Benutzer] WHERE
> [Benutzer].Hostname = HOST_NAME()
>
> Now I wanted to extend the functionality of the filter query with a
> sub-select including another table:
>
> SELECT <Publizierte_Spalten> FROM [dbo].[Benutzer] WHERE
> HOST_NAME() IN (SELECT b.Hostname FROM Benutzer b where b.ID
> = [Benutzer].ID UNION SELECT b.Hostname FROM BekommtDaten
> bd, Benutzer b WHERE b.ID = bd.BenutzerID AND b.Hostname =
> HOST_NAME() AND bd.VonBenutzerID = [Benutzer].ID)
>
> It's works fine when the subscription is initialized on the subscriber:
> The subscriber gets the right rows.
>
> But when there occur changes in the table which is used in the subselect
> (e.g. "BekommtDaten") in that way that the subscriber should get
> additional or less rows, it doesn't work. No rows are transfered to /
> deleted from the subscriber.
>
> Any ideas how to make it work?
>
> thanks in advace
> Mathias
>