跨数据库条件查询语法解决办法

跨数据库条件查询语法
利用openrowset进行两个SQL2000之间的数据库的查询,在SQL的HELP里是这样写的:
SELECT   a.*
FROM   OPENROWSET( 'SQLOLEDB ', 'seattle1 '; 'sa '; 'MyPass ',
      'SELECT   *   FROM   pubs.dbo.authors   ORDER   BY   au_lname,   au_fname ')   AS   a


没有问题

可是在实际应用中会在Select中增加条件,也就是说是要这样写的:
SELECT   a.*
FROM   OPENROWSET( 'SQLOLEDB ', 'seattle1 '; 'sa '; 'MyPass ',
      'SELECT   *   FROM   pubs.dbo.authors   where   au_lname= ' '   ORDER   BY   au_lname,   au_fname ')   AS   a
当以上述格式执行时就会报语法错误,错误点在WHERE条件上,现在就这个条件怎么写才可以通过?




------解决方案--------------------
SELECT a.*
FROM OPENROWSET( 'SQLOLEDB ', 'seattle1 '; 'sa '; 'MyPass ',
'SELECT * FROM pubs.dbo.authors where pubs.dbo.authors.au_lname= ' ' ORDER BY pubs.dbo.authors.au_lname, pubs.dbo.authors.au_fname ') AS a

------解决方案--------------------
没搞过```等高人来```学习中```````
------解决方案--------------------
條件寫在外面試試


SELECT a.*
FROM OPENROWSET( 'SQLOLEDB ', 'seattle1 '; 'sa '; 'MyPass ',
'SELECT * FROM pubs.dbo.authors ORDER BY au_lname, au_fname ') AS a
where au_lname= ' '
------解决方案--------------------
将 OPENROWSET 用于 SELECT 和 SQL Native Client OLE DB 访问接口
以下示例使用 SQL Native Client OLE DB 访问接口 (SQLNCLI) 访问 HumanResources.Department 表,该表位于远程服务器 Seattle1 上的 AdventureWorks 数据库中。使用 SELECT 语句定义返回的行集。访问接口字符串包含 Server 和 Trusted_Connection 关键字。这些关键字由 SQL Native Client OLE DB 访问接口识别。

复制代码
SELECT a.*
FROM OPENROWSET( 'SQLNCLI ', 'Server=Seattle1;Trusted_Connection=yes; ',
'SELECT GroupName, Name, DepartmentID
FROM AdventureWorks.HumanResources.Department
ORDER BY GroupName, Name ') AS a;

看下这个
------解决方案--------------------
SELECT a.*
FROM OPENROWSET( 'SQLOLEDB ', 'seattle1 '; 'sa '; 'MyPass ',
'SELECT * FROM pubs.dbo.authors where au_lname= ' ' ' ' ORDER BY au_lname, au_fname ') AS a

--改成 ' ' ' ',引号内部的引号 '用 ' '表示


------解决方案--------------------
SELECT a.*
FROM OPENROWSET( 'SQLOLEDB ', 'seattle1 '; 'sa '; 'MyPass ',
'SELECT * FROM pubs.dbo.authors where au_lname= ' ' ' ' ORDER BY au_lname, au_fname ') AS a
------解决方案--------------------
2个 '号表示输入一个 '
------解决方案--------------------
一個單引號用兩個單引號代替