我有一个相当简单的查询,我试图在我的网站上执行,尽管如此,它只是赢得了工作。我使用了2 where子句,是的,我已经看到很多关于where where子句的其他问题,我的查询与他们的查询非常不同,因为他们的查询更加复杂和先进,所以我可以&#39真的让解决方案适合我。
这是我的疑问;
SELECT * FROM ImpoundReports WHERE (UserId = @0 AND Released = 0)
查询"工作",因为它没有给我任何错误,它只是没有提取报告,因为它应该。
UserId是一个int。 发布了一点。
UserId = @ 0是我的Razor代码中使用的标量变量。
提前谢谢。
答案 0 :(得分:1)
如果已发布有问题,那么可能的值是 true , false 和 null (如果null可以接受)
所以可能的结果查询是..
SELECT * FROM ImpoundReports WHERE (UserId = @0 AND Released is null)
SELECT * FROM ImpoundReports WHERE (UserId = @0 AND Released is true)
SELECT * FROM ImpoundReports WHERE (UserId = @0 AND Released is false)
答案 1 :(得分:0)
SELECT * FROM ImpoundReports WHERE (UserId = @0 AND Released is null)
这解决了它。 “释放为空”而不是“释放= 0”。