需要有关使用下面提到的方案创建视图的帮助

时间:2014-08-06 07:53:15

标签: sql

我需要知道是否可以通过创建视图来解决以下场景

简介问题:

我们必须为非验证地址生成报告

我们将在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

  1. 如果SeqNo = 1且StreetID为Null且SeqNo = 0且StreetID也为Null,则应打印SeqNo = 1

  2. 如果SeqNo = 0且StreetID为Null,如果db中只有一个序列/记录,我们需要打印Seq = 0

  3. 我试过但场景= 1的数据也正在打印。实际上,场景1的数据不应该打印。

    任何人都可以帮助我。

1 个答案:

答案 0 :(得分:0)

如果您提供的样本数据注明应该选择或不选择哪种情况,我可以提供比这个更好的答案。但是,让我成为第一个尝试此事的人。

SELECT * FROM <your_table> WHERE (SeqNo = 1 AND StreetID IS NULL) OR (SeqNo = 0 AND StreetID IS NOT NULL)