Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 我该如何正确地将这个校样框起来?_Sql_Sql Server 2008_Tsql_Collate - Fatal编程技术网

Sql 我该如何正确地将这个校样框起来?

Sql 我该如何正确地将这个校样框起来?,sql,sql-server-2008,tsql,collate,Sql,Sql Server 2008,Tsql,Collate,以下代码: SELECT * FROM portal.workflow AS w INNER JOIN portal.workflow_type AS wt ON w.workflow_type_id = wt.workflow_type_id WHERE wt.doc_type IN ('CentreEV', 'Expenditure Voucher') AND w.varchar_1 NOT IN ( select f

以下代码:

SELECT  *
FROM    portal.workflow AS w
        INNER JOIN portal.workflow_type AS wt
            ON w.workflow_type_id = wt.workflow_type_id
WHERE   wt.doc_type IN ('CentreEV', 'Expenditure Voucher')
        AND w.varchar_1 NOT IN (    select f1.BAT_NAME as 'DocumentFile'
                                    from openquery(QICRE_F1, 'select * 
                                                            from dbo.IO_GLF_BAT_CTL_VW 
                                                            where bat_stat = ''S'' ') f1
                                    where f1.USAGE_STAT = 'A'   ) 
正在引发以下错误:

Msg 468,级别16,状态9,第1行无法解析排序规则 中“拉丁语通用”与“拉丁语通用”的冲突 这等于操作

我试图用以下方法解决这个问题,但是我收到了一个语法错误。我不知道(即使在看过文档之后)在这种情况下应该如何做:

SELECT  *
FROM    portal.workflow AS w
        INNER JOIN portal.workflow_type AS wt
            ON w.workflow_type_id = wt.workflow_type_id
WHERE   wt.doc_type IN ('CentreEV', 'Expenditure Voucher')
        AND COLLATE Latin1_General_CI_AS w.varchar_1 NOT IN 
                                (   select f1.BAT_NAME as 'DocumentFile'
                                    from openquery(QICRE_F1, 'select * 
                                                            from dbo.IO_GLF_BAT_CTL_VW 
                                                            where bat_stat = ''S'' ') f1
                                    where f1.USAGE_STAT = 'A'   ) 

您的查询可能有两个问题。试试这样的

...
WHERE ...
   AND w.varchar_1 COLLATE Latin1_General_CI_AS IN  
...
您可能需要将相同的语法添加到openquery命令中。这就是我不确定它是否能工作的地方,因为您可能需要使用linkedserver.database.schema.table语法——只需要测试它。但是像这样的事情:

from openquery(QICRE_F1, 'select bat_name COLLATE Latin1_General_CI_AS  
   from dbo.IO_GLF_BAT_CTL_VW 
   where bat_stat = ''S'' ') f1

祝你好运。

如果不明显,请在选择列表中的每个非数字列后面添加COLLATE语句。