使用来自其他列的值在mySQL中创建新列

问题描述:

我在我的数据库中有两列,我想合并以创建一个新的第三列。第一列是公司名称,第二列是公司网站的URL。使用来自其他列的值在mySQL中创建新列

我想提出一个新的列,它是超链接到网站上的公司名称:

<a href="http://companywebsite.com>Company Name</a> 

有一个简单的方法去这样做呢?我对mySQL非常陌生,无法弄清楚我怎么会这么做。

奖励积分的方式,当我添加一个公司名称和URL的新条目,它会自动为这个新的超链接列产生一个值。

谢谢。

+4

我不会添加此列;它不包含任何新数据并复制现有数据 - 您是否可以在需要时或在您的客户端层中构建URL? – 2014-10-09 13:19:13

+0

请发布架构和一些示例数据 - 应该很容易从已经存在的列中构建所需的数据,而不是明确地存储它。 – 2014-10-09 13:20:21

+0

建议与Alex K.相同。如果您在数据库级别需要它,则可以使用视图。 – mreiterer 2014-10-09 13:23:20

由于Polvonjon写,使用CONCAT:

SELECT brief_description, CONCAT('<a href="', link, '">', innovation_name, '</a>') FROM inno_db 

顺便说一句 - inno_db是数据库中表格的一个非常奇怪的名称;它是MySQL的一种特殊类型的存储引擎。你不觉得“公司”是一个更好的名字吗?

创建一个新列是一个坏主意 - 你必须保持它的更新,并且你正在复制数据,从而导致长期的错误。理想情况下,您使用查询来填充WP屏幕。

如果你不能做到这一点,作为意见建议,你可以创建一个视图,从中你可以做直选择:在代码插件

create view WPPlugin 
as 

select brief_description, 
CONCAT('<a href="', link, '">', innovation_name, '</a>') 
FROM inno_db 

,你然后做select * from WPPlugin

+0

这会生成一个SQL查询结果(我猜),但我需要它来添加此数据添加到现有列(超链接名称)。我怎么做?尝试添加UPDATE'hyperlinked_name',但没有奏效。 – jonmrich 2014-10-09 13:42:37

+0

我跟随你的更新,这是接近的,但我需要一个其他列(描述)被包含在这个视图,我用这个插件。所以它应该是这个新创建的列和描述(表中的一个现有列)。我可以使用这两种方法创建视图吗? – jonmrich 2014-10-09 13:53:21

+0

等等...我看到它拉动所有的列,所以这是完美的...一个问题...新列有这样的条目: Gweepi Medical 我该如何摆脱 ? – jonmrich 2014-10-09 13:55:23

尝试使用CONCAT功能:

SELECT company, url, CONCAT('<a href="', url, '">', company, '</a>') FROM companies 

但我不会建议使用越来越锚标记此样本。 尝试在您的MVC应用程序中使用VIEW元素。

假设你有三列的表 CREATE TABLE MYTABLE( COMPANY_NAME文本 ,URL文本 ,超链接文本 )基于

那么你就需要更新的第三列(超链接)的值你需要什么,是这样的:

UPDATE mytable 
SET hyperlink = '<a href="http://' || url || '>' || company_name || '</a>'; 
+0

这只是导致0被添加到新列 – jonmrich 2014-10-09 13:29:33