A B C
Test 1 This
Test1 1;4 That
Test2 7 What
Test3 6;2 Which
Test4 1;2;7 Where
表2:
X Z
1 Sun
2 Mon
3 Tue
4 Wed
5 Thu
6 Fri
7 Sat
SQL:
Select
t1.A,
t2.Z
from
[dbo].[Table 1] t1
inner join [dbo].[Table2] t2
on t1.B = t2.X
它僅適用於該在B
列中只有1個條目但在2個或更多條目中失敗的行。
我如何修改SQL因此,它給我的結果是這樣的:
A Z
Test Sun
Test1 Sun;Wed
Test2 Sat
Test3 Fri;Mon
Test4 Sun;Mon;Sat
你使用什麼數據庫引擎?第二個爲什麼將多個值存儲在單個列中?這是糟糕的桌子設計。你可以改變它嗎? –
我很抱歉...讓我更新我的問題。而且我知道,不幸的是這是給我們的設計。 – Si8
這不適用於RDBMS。從'表2'中檢索數據,並使用更適合該問題的語言(Java,C#,C++)在內存中執行搜索和替換。 – dasblinkenlight