SQL选择返回默认值如果为空
发布时间:2020-12-12 06:55:56 所属栏目:MsSql教程 来源:网络整理
导读:数据库:MS SQL 2008 SELECT Listing.Title,Listing.MLS,Pictures.PictureTH,Pictures.Picture,Listing.ID FROM Listing INNER JOIN Pictures ON Listing.ID = Pictures.ListingIDWHERE (Pictures.ID = (SELECT MIN(ID) FROM Pictures WHERE (ListingID = Lis
数据库:MS SQL 2008
SELECT Listing.Title,Listing.MLS,Pictures.PictureTH,Pictures.Picture,Listing.ID FROM Listing INNER JOIN Pictures ON Listing.ID = Pictures.ListingID WHERE (Pictures.ID = (SELECT MIN(ID) FROM Pictures WHERE (ListingID = Listing.ID))) 问题是,我有几个没有图片的“列表”,并且由于这个SQL脚本,它们没有出现。我怎样才能让他们出现? 如果值为null,也可以给Pictures.Picture Column一个值“default.jpg”?我很失落,所以如果有人可以提供帮助,那就太棒了。对不起,如果我问的问题也很糟糕,我不明白如何真正地问我需要它做什么。但是要求更多细节,我会发布它们。 每个清单可以拥有用户想要的尽可能多的图片,我需要这个脚本来显示清单,即使它没有图片。 阶段2 谢谢你们。到目前为止,我正在学习一些我从未知道的新命令。现在的问题是它为列表中的每张图片返回一行。但默认图像效果很好。 SELECT Listing.Title,coalesce(Pictures.PictureTH,'../default_th.jpg') as PictureTH,coalesce(Pictures.Picture,'../default.jpg') as Picture,Listing.ID FROM Listing LEFT OUTER JOIN Pictures ON Listing.ID = Pictures.ListingID 我怎样才能获得它,因此每个ListingID只返回1行? 解决方法两件事情:>使用左外连接而不是内连接来获取所有列表,即使丢失了图片。 SELECT Listing.Title,'default.jpg') as Picture,Listing.ID FROM Listing LEFT OUTER JOIN Pictures ON Listing.ID = Pictures.ListingID 编辑限制为一行: SELECT Listing.Title,Listing.ID FROM Listing LEFT OUTER JOIN Pictures ON Listing.ID = Pictures.ListingID WHERE Pictures.ID is null OR Pictures.ID = (SELECT MIN(ID) FROM Pictures WHERE (ListingID = Listing.ID))) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql-server – 如何启用到SQL Server实例的加密连接?
- sqlserver自定义函数
- sqlserver导出sql脚本
- sqlserver 常见使用sql
- SQL Server 2005 Profiler如何查看整个存储过程链
- SQL Server中汇总功能的使用GROUPING,ROLLUP和CUBE
- sql – 如果一行不存在,则插入else不要在postgres中插入
- sql-server-2008 – SQL Server 2008表现不佳 – 迁移到新服
- sql-server – 在使用带有pandas和sqlalchemy的python 3.5时
- SqlServer中decimal(numeric )、float 和 real 数据类型的区