我正在尝试开发一些仅提取最新信息的代码。
当一个用户进入一个子表时,每当他们改变一些东西时,它会在colum中创建一个名为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
如果没有人对子表进行任何更改,那么显示信息的解决方案是什么? - 如果type12_OriginalNoteID为null,则添加if语句以运行
答案 0 :(得分:1)
您需要的是使用LEFT JOIN
加入两个表格。因此主表中的记录数据仍然存在,但来自第二个表(=子表)的字段将为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