Address1,
Address2,
TownCity,
Region,
Postcode,
Country,
嗨伙计和女孩,
我遇到了一个SQL问题。如果你能帮助我,那就太棒了。
顶部的表格(softc)有几列,可以合并为一个名为“contactinfo”的列
需要合并的列:
Address1,
Address2,
TownCity,
Region,
Postcode,
Country,
我已经尝试了UNION,但它过滤掉了具有NULL值的行。我有618条记录。当我做一个UNION时,它会出现750.(有些记录可能包含所有NULL。但是它们必须将单个映射到另一张表)
感谢您的帮助。谢谢
我正在使用mySQL
答案 0 :(得分:0)
select IFNull(Address1,'') + IFNull(Address2,'') + IFNull(TownCity,'') + IFNull(Region,'') + IFNull(Postcode,'') + IFNull(Country,'') as ContactInfo from Softc
那应该是你想要的......
答案 1 :(得分:0)
试试这个
select ISNULL(Address1,'') + ISNULL(' '+Address2,'') + ISNULL(', '+TownCity,'')
+ ISNULL(', '+Region,'') + ISNULL(', '+Postcode,'') + ISNULL(', '+Country,'') as ContactInfo from Softc
答案 2 :(得分:0)
您可以将合并/合并单元格与Concat命令
组合使用示例:
CONCAT([Firstname],',',[lastname]) as Fullname.
expression = concat [fieldname / seperator],[fieldname / seperator],...............等
答案 3 :(得分:0)
数据库规范化的一部分是将数据分解为最分散的组件。你现在有。不要搞砸了。
解决问题的一个很好的长期解决方案是将所有空值更新为空字符串。然后更改这些列,以便它们不允许空值并且默认值为空字符串。这将允许您的concatonation查询运行得更快,因为您不必检查空值。
此外,如果频繁返回联系信息字符串的要求,您可以编写一个返回它的数据库函数。