所以,如果我给出一组数据,而一小部分数据没有插入数据库,我如何将它们显示为实际的"记录";在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
和实际所需输出列的更多信息,我可以使用此技术通过更具体的示例来编辑此应答器。