如果属性在sql中的同一个表中拼写不同,如何显示该属性的名称

如果属性在sql中的同一个表中拼写不同,如何显示该属性的名称,sql,Sql,任务: 列出所有“学生”赞助人(赞助人姓名和赞助人类型)。如果他们签出了一本书,则将其包含在输出(书名)中。您需要显示所有的学生赞助人,包括那些没有签出任何书籍的学生。这将需要用户和书桌之间的外部连接 我没有问题显示用户的姓名和类型或已签出的书籍,直到它必须只显示学生用户(这就是问题所在),因为“student”的拼写不同,我不知道如何显示所有用户,而事先不知道所有用户 “student”的一些拼写是全小写、全大写或一些小写与一些大写混合 目前,我的代码是这样的: select patron.p

任务:

列出所有“学生”赞助人(赞助人姓名和赞助人类型)。如果他们签出了一本书,则将其包含在输出(书名)中。您需要显示所有的学生赞助人,包括那些没有签出任何书籍的学生。这将需要用户和书桌之间的外部连接

我没有问题显示用户的姓名和类型或已签出的书籍,直到它必须只显示学生用户(这就是问题所在),因为“student”的拼写不同,我不知道如何显示所有用户,而事先不知道所有用户

“student”的一些拼写是全小写、全大写或一些小写与一些大写混合

目前,我的代码是这样的:

select patron.pat_fname, patron.pat_lname, patron.pat_type, book.book_title
from patron
left join checkout on checkout.pat_id = patron.pat_id
left outer join book on patron.pat_id = book.pat_id
where patron.pat_type = 'student'

如何让我的代码显示所有的学生用户而不事先知道他们所有人?

解决方案将根据您的数据库平台和排序规则设置(区分大小写)而有所不同

只需将
patron.pat_键入
为大写,然后进行比较

select patron.pat_fname, patron.pat_lname, patron.pat_type, book.book_title
from patron
left join checkout on checkout.pat_id = patron.pat_id
left outer join book on patron.pat_id = book.pat_id
where upper(patron.pat_type) = 'STUDENT'

非常感谢。真不敢相信我竟然没想到这一点。