我有兩張桌子。如何根據另一個表中具有多個值的列值選擇表中的行?
用戶與列用戶ID,面積
的Area
柱與多個逗號分隔值填充(從列表框) - 數據是這樣的:
User1 KA,TN,AP,GJ
User2 MH,UP,MP,GJ
訂單與列的OrderID,產品編號,數量,區域
數據如下所示:
1 Prod1 10 GJ
2 Prod1 22 MH
3 Prod2 3 AP
4 Prod2 77 TN
如何根據User
表從Order
表中選擇行?
說登錄的用戶是User1
。他的領域是KA,TN,AP,GJ
。
結果應該是這樣的:
Prod1 10 GJ
Prod2 77 TN
請告知SQL查詢來得到這樣的結果。
永遠不要將數據存儲爲逗號分隔的項目:
感謝和問候 克里希納
如果你的數據是標準化的,這會容易得多。爲什麼將多個值作爲一個字符串blob存儲在單個字段中? – David
永遠不要將數據存儲爲逗號分隔的項目。這隻會導致你很多麻煩。 – jarlh
閱讀[在數據庫列中存儲分隔列表真的不好嗎?](http://stackoverflow.com/questions/3653462/is-storing-a-delimited-list-in-a-database-column-really-那壞),你會看到很多原因,爲什麼這個問題的答案是**絕對是!** –