如何从一组数据中返回null值以在SQL中显示



所以,如果我给出一组数据,而一小部分数据没有插入数据库,我如何将它们显示为实际的"记录";在SQL server中?

select *
from cleansedcarddatabase 
where clientcreditcards in (
'1235980878',
'1235980918',
'1235980969',
'1235980971',
'1235981010',
'1235981014',
'1235981033',
'1235981777',
'1235981321',
'1235981944',
'1235981200'
)

一些信用卡客户在最后一刻决定取消,但这两条记录从未被插入数据库。但我仍然想显示卡列表中的那些空值卡(因为没有数据((大多数是插入的(。有没有办法在没有临时表的情况下做到这一点?

比方说,我忘记了哪两个卡号是没有插入数据库的,而是什么都不显示或显示9记录,无论如何,都会将这两个空记录显示为"0";真实的";数据

假设您的数据库表cleansedcarddatabase中存储了一个卡号为CardNumber的列,您可以将卡号列表重新格式化为值列表,然后在卡号上加入数据库表,然后显示数据库表中的所有列(因为您的OP只是使用数据库表中select *(:

select 
db_credit_cards.* 
from    
(values ('1235980878'),
('1235980918'),
('1235980969'),
('1235980971'),
('1235981010'),
('1235981014'),
('1235981033'),
('1235981777'),
('1235981321'),
('1235981944'),
('1235981200')) AS all_credit_cards(CardNumber)
left join cleansedcarddatabase as db_credit_cards ON all_credit_cards.CardNumber = db_credit_cards.CardNumber;

这将允许cleansedcarddatabase中的任何记录显示已存储在其中的数据,然后显示数据库表中不存在的值列表中卡号的空值。

如果您提供了有关模式cleansedcarddatabase和实际所需输出列的更多信息,我可以使用此技术通过更具体的示例来编辑此应答器。

相关内容

  • 没有找到相关文章

最新更新