使用 case when 语句创建视图

发布于 2024-12-16 21:16:39 字数 557 浏览 2 评论 0原文

请参阅下面的示例,以便更清楚地了解我在做什么。

示例:

Create View v AS
Select T.*, S.Name, Case When T.TESTDATE = S.STUDYDATE
Then 'Yes' else 'No' END AS TakenTest
From Test T, Student S
Where T.TESTPAPERID = '12345'
And T.StudentNo = S.StudentNo;

创建视图成功。但是,它使用相同的值填充重复的行,例如:

TESTPAPERID      StudentNo      Name     TakenTest
12345            6437           John     Yes
12345            6437           John     No

我如何解决它,因为我已经定义了 if T.TESTDATE = S.STUDYDATE then show yes。否则不行。并且不填充相同的值。

谢谢

Please refer to my example below for clearer understanding of what i'm doing.

Example:

Create View v AS
Select T.*, S.Name, Case When T.TESTDATE = S.STUDYDATE
Then 'Yes' else 'No' END AS TakenTest
From Test T, Student S
Where T.TESTPAPERID = '12345'
And T.StudentNo = S.StudentNo;

It create the view successfully. However, it populate duplicate rows with same values like:

TESTPAPERID      StudentNo      Name     TakenTest
12345            6437           John     Yes
12345            6437           John     No

How can i resolve it as i already define that if T.TESTDATE = S.STUDYDATE then show yes. Otherwise no. And not populating the same values out.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

伴梦长久 2024-12-23 21:16:39

如果只有一行,请使用:

MAX(Case When T.TESTDATE = S.STUDYDATE Then 'Yes' else 'No' END)
...
GROUP BY <all other columns, which you haven't shown>

另外,这部分的编码很差:

T.TESTPAPERID = (Select TESTPAPERID From Student Where TESTPAPERID='12345')

因为它与以下内容相同:

T.TESTPAPERID = '12345'

To have only one row, use this:

MAX(Case When T.TESTDATE = S.STUDYDATE Then 'Yes' else 'No' END)
...
GROUP BY <all other columns, which you haven't shown>

Also, this part is poorly coded:

T.TESTPAPERID = (Select TESTPAPERID From Student Where TESTPAPERID='12345')

because it is IDENTICAL to:

T.TESTPAPERID = '12345'
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文