我在MySQL中将三列合并为1时遇到问题。确实,我在某些列中有一些空值,但我认为它没有区别,因为在第一次结果它给我正确的结果,但是当我浏览表时,3列保留,新列保持为空。这是我用过的代码:
SELECT FirstName AS First_Name
, LastName AS Last_Name
, CONCAT_WS('', ContactPhoneAreaCode1, ContactPhoneNumber1, ContactPhoneNumber1) AS Contact_Phone
FROM TABLE1
答案 0 :(得分:1)
一种方法是实际改变表格:
UPDATE MyTable SET ContactPhone = CONCAT_WS('', ContactPhoneAreaCode1, ContactPhoneNumber1, ContactPhoneNumber1)
插入所需的值(你真的想让ContactPhoneNumber1在那里两次吗?)但更好的方法是在TABLE上创建一个具有此额外列的VIEW:
CREATE VIEW MyVIEW AS SELECT *, CONCAT_WS('', ContactPhoneAreaCode1, ContactPhoneNumber1, ContactPhoneNumber1) AS ContactPhone from MyTable
然后你可以像使用表一样使用视图,但它有一个额外的合成列,永远不需要保持同步。