2013-04-27 65 views
0

我正在爲一個客戶端項目工作,我需要將2個Drupal和1個WordPress安裝遷移到1個單獨的WordPress CMS中。我必須保持完全相同的URL,並確保新網站與當前混亂幾乎相同。MySQL JOIN使數據庫列名碰撞

我想出了這個下面的SQL查詢的怪物,以提取所有Drupal插入到WordPress的帖子。

我的問題,現在,則有2個MySQL表列名爲title在下面的查詢....

SELECT n.nid, n.uid, FROM_UNIXTIME(n.created) created, FROM_UNIXTIME(n.changed) modified, n.TYPE, n.status, n.title, r.teaser, r.body, u.dst url, m.path, m.title, m.description, m.keywords 
FROM drupal_node n 
LEFT JOIN drupal_node_revisions r ON n.nid = r.nid 
LEFT JOIN drupal_url_alias u ON CONCAT( 'node/', n.nid) = u.src 
LEFT JOIN drupal_simplemeta_data m ON CONCAT( 'node/', n.nid) = m.path 
WHERE n.TYPE 
IN (
'blog', 'story', 'page', 'forum', 'largeimage', 'error' 
) 

所以,當我去了,結果,這將導致一個問題,因爲我的結果將僅僅是第一列。

有沒有辦法將它重命名爲我的結果?或者其他一些詭計?

一個var_export()顯示它只是暴露1 title

我使用PHP和這樣的事情返回一個PDO對象...

$result = $stmt->fetchAll(PDO::FETCH_OBJ); 
foreach($result as $row) { 

    echo $row->title; 

} 

回答

2

我認爲你可以使用AS給變量新名

SELECT n.nid, n.uid, FROM_UNIXTIME(n.created) created, FROM_UNIXTIME(n.changed) modified, n.TYPE, n.status, n.title AS mastertitle, r.teaser, r.body, u.dst url, m.path, m.title AS slavetitle, m.description, m.keywords 

現在,您可以分別給他們打電話

echo $row->mastertitle; 
echo $row->slavetitle; 
+0

That works,thanks – JasonDavis 2013-04-27 06:42:18

+0

@Jasondavis歡迎你的傢伙 – Fabio 2013-04-27 06:43:16