从旧表中的第一个单词左连接表?

时间:2012-08-20 16:20:04

标签: mysql left-join

你如何在其他桌子的第一个单词上留下联接表?

这将返回新表中的标题,但旧表为空,我知道标题中的第一个单词是完全匹配

SELECT tb1.title as new_titles,tb2.title as old_title
FROM tb1.news_items
LEFT JOIN
tb2.news_items 
ON
tb1.title = SUBSTRING_INDEX(tb2.title, '', 1)

1 个答案:

答案 0 :(得分:0)

这将为您提供第二个表格中标题的第一个单词

CASE CHARINDEX(' ', tb2.title, 1)
WHEN 0 THEN tb2.title
ELSE SUBSTRING(tb2.title, 1, CHARINDEX(' ', tb2.title, 1) - 1)
END
AS FirstWord

所以查询就像

SELECT tb1.title as new_titles,tb2.title as old_title
    CASE CHARINDEX(' ', tb2.title, 1)
    WHEN 0 THEN tb2.title
    ELSE SUBSTRING(tb2.title, 1, CHARINDEX(' ', tb2.title, 1) - 1)
    END
AS FirstWord
FROM tb1.news_items
LEFT JOIN
tb2.news_items 
ON
tb1.title = FirstWord