Je suis dans la situation malheureuse de développer une application utilisant SQL Server 2005 dans l'environnement de développement mais SQL Server 2000 sur le serveur de production. J'ai une requête SELECT assez complexe qui fonctionne très bien sur le développement/serveur de test, mais tombe dans l'environnement de production:Plusieurs jointures internes dans SQL 2000
SELECT tbl_questions.Question, tbl_questions.QuestionCode
FROM tbl_questions INNER JOIN (
SELECT sg.questioncode, sg.gradeB, sg.gradeA, t2.wt
FROM tbl_scoregrade AS sg INNER JOIN (
SELECT t1.QuestionCode, AVG(1.0 * aw.Weight) AS wt
FROM tbl_AnswerWeight AS aw INNER JOIN (
SELECT assa.QuestionCode, assa.Answer
FROM tbl_AllStaffSurveyAnswers AS assa INNER JOIN
tbl_AllStaffSurvey AS ass ON assa.Questionguid = ass.Questionguid
WHERE (ass.Trust = 'RD7') AND (ass.Specialty = '97'))
AS t1 ON aw.questioncode = t1.QuestionCode AND aw.Response = t1.Answer
GROUP BY t1.QuestionCode)
AS t2 ON sg.questioncode = t2.QuestionCode AND sg.gradeA > t2.wt)
AS t3 ON tbl_questions.QuestionCode = t3.questioncode
Vous voyez quelque chose qui devrait faire une différence lorsqu'il est exécuté sur différentes versions du serveur SQL, ou en effet des moyens de simplifier la requête dans tous les cas?
Pouvez-vous poster le message d'erreur que vous obtenez? –
sont les bases de données identiques autres que les versions de SQL, ils sont en cours d'exécution? – Gavin