русский
Germany.ruForen → Архив Досок→ Webdesign und Hosting

SQL. Кто виноват?

22.06.05 15:37
SQL. Кто виноват?
 
toptop постоялец
Ситуация такова:
Жил да был в Access, один сложный запрос, который состоял из многих подзапросов, а те в свою очередь тоже. Жили они дружно, связанные кто через Outer Join, кто через Inner, пока злой пользователь в одном простом подзапросе на основе одной таблицы не нашел ошибку.
Состояла та ошибка исключительно в неправильной формулировке WHERE. Поменял добрый молодец эту where на правильную, но обругал его главный запрос страшными словами: Dieser Ausdruck wurde falsch eingegeben, oder er ist zu komplex, um ausgewertet zu werden. Почесал добрый молодец свою тыковку, да делать нечего - надо дальше править. Присоединил добрый молодец к исправленному подзапросу через UNION те записи, которые раньше неправильный WHERE выдавал, а теперь правильный не выдает, примерно так:
Select f1, f2, f3 From tab Where <...>
Union Select f1, f2, f3 From Tab where Id in (1,5,7,9)
Заработал главный запрос, но невесело добру молодцу. Начал он Id записей поочередно из In списка выкидывать, что б найти, кто виноват и что делать. Да так все и по выкидывал, что ни одной не осталось:
Select f1, f2, f3 From tab Where <...>
Union Select f1, f2, f3 From Tab where Id = 0
А Id - то никогда в нуль и не обратится. А главный запрос работает себе и работает.
А добрый молодец сидит пригорюнившись и думу думает. Что делать-то, он нашел, а вот кто виноват?
Решил он тогда народ поспрошать, может знает кто чего или слыхал об чем-то этаком. А, люди добрые?
 

Sprung zu