T SQL WHERE - PullRequest
       21

T SQL WHERE

0 голосов
/ 22 марта 2010

Я пытаюсь разработать некоторый код, который извлекает только самую свежую информацию.

Что происходит, когда пользователь входит в форму там, в подтаблицу, и каждый раз, когда он что-то меняет, он создает новую строку в столбце под названиемtype12_OriginalNoteID, который помещает свой собственный уникальный номер. Другое поле с именем type12_OriginalNoteID сохраняет тот же номер - который отслеживает, каким был оригинальный номер до того, как были сделаны какие-либо изменения.У меня есть некоторый код, который извлекает самую последнюю информацию, но ничего не извлекает, если пользователь не внес никаких изменений в форму - и это потому, что type12_OriginalNoteID имеет значение null.

Код выглядит следующим образом: -

WHERE ea.type12_NoteID IN
  (SELECT TOP 1 ea.type12_NoteID 
     FROM UserAssessv1aidsadaptations ea1  
     WHERE ea.type12_NoteID =   ea1.type12_OriginalNoteID 
     ORDER BY ea.type12_UpdatedDate DESC)

Пример данных выглядит следующим образом: -

type12_note ID         12
type12_OriginalNoteID  NULL 
type12_UpdatedDate     11/03/2010 

Каким будет решение для отображения информации, если никто не внес никаких изменений в подтаблицу?- добавить оператор if для запуска, если type12_OriginalNoteID имеет значение null ??

1 Ответ

1 голос
/ 22 марта 2010

Что вам нужно, это объединить две таблицы, используя LEFT JOIN. Таким образом, данные записи из основной таблицы будут все еще там, но поля, приходящие из вашей второй таблицы (= subtable), будут null. Ваше заявление должно выглядеть примерно так:

SELECT TOP 1 t1.type12_NoteID
FROM t1 LEFT JOIN t2 
ON t1.type12_NoteID = t2.type12_OriginalNoteID
ORDER BY t1.type12_UpdatedDate DESC
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...