0

他のテーブルの最初の単語でテーブルを結合したままにするにはどうすればよいですか?

これは新しいテーブルからタイトルを返しますが、タイトルの最初の単語が完全に一致していることがわかっている古いテーブルはnullです

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)
4

1 に答える 1

0

これにより、2 番目のテーブルのタイトルから最初の単語が取得されます

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
于 2012-08-20T16:28:41.897 に答える