2014-10-09 103 views
0

我在我的數據庫中有兩列,我想合併以創建一個新的第三列。第一列是公司名稱,第二列是公司網站的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

回答

2

由於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

等等...我看到它拉動所有的列,所以這是完美的...一個問題...新列有這樣的條目:< ahref =「http://www.gweepi.com/ 「> Gweepi Medical <�/a>我該如何擺脫 ? – jonmrich 2014-10-09 13:55:23

0

嘗試使用CONCAT功能:

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

但我不會建議使用越來越錨標記此樣本。 嘗試在您的MVC應用程序中使用VIEW元素。

0

假設你有三列的表 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

相關問題