我需要知道是否可以通过创建视图来解决以下场景
简介问题:
我们必须为非验证地址生成报告
我们将在Say中有两个位置。报告的位置和完成的位置。
的StreetID和StreetID初始报告的位置地址将存储在数据库中,地址序列号为0,如果地址已验证/已经在数据库中已经有一个StreetID。如果它的新地址,其StreetID将为Null
如果完成的位置地址不同,则工作完成后,完成的位置地址将移至地址序列NO = 0,报告的地址将移至地址序列No = 1
如果两个地址相同,我们在db中只有一条记录,序列为0,如果新地址,streetid将为null
要在报告中打印,我们必须考虑SeqNo = 1
如果只有两个地址相同,我们需要取SeqNo = 0
场景:
1。如果SeqNo = 1且StreetID为非空并且SeqNo = 0且StreetID为空,则我们不应打印地址
2。如果SeqNo = 1且StreetID为Null且SeqNo = 0且StreetID为No Null,则应打印SeqNo = 1
如果SeqNo = 1且StreetID为Null且SeqNo = 0且StreetID也为Null,则应打印SeqNo = 1
如果SeqNo = 0且StreetID为Null,如果db中只有一个序列/记录,我们需要打印Seq = 0
我试过但场景= 1的数据也正在打印。实际上,场景1的数据不应该打印。
任何人都可以帮助我。
答案 0 :(得分:0)
如果您提供的样本数据注明应该选择或不选择哪种情况,我可以提供比这个更好的答案。但是,让我成为第一个尝试此事的人。
SELECT *
FROM <your_table>
WHERE
(SeqNo = 1 AND StreetID IS NULL)
OR
(SeqNo = 0 AND StreetID IS NOT NULL)