简体   繁体   中英

openquery giving different results

I have 2 similar queries

select * 
from openquery(powerschool, 
                'select * 
                 from TEACHERS 
                 where teachernumber is not null 
                   and schoolid=''1050'' 
                   and teacherloginid is not null  
                 order by teachernumber') 

and

SELECT * 
from openquery(powerschool, 
              'SELECT NVL(teachernumber,'''') 
               from TEACHERS 
               where teachernumber is not null 
                 and schoolid=''1050'' 
                 and teacherloginid is not null 
               order by teachernumber') 

The first one is giving me 182 rows while the second one gives me 83.

What's wrong with the queries?

Second query never would return a null for the teachers table because of the NVL() so it could return more records depending on the data.

basically the " and teacherloginid is not null " never gets hit because you replace the nulls with ""

Just thoughts...

  • Same server? That is, linked server is different in target or credentialss o you are reading a different "TEACHERS" table

  • What does running both linked SQL statement actually on the linked server (not locally) give you?

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM