我有兩個表解析MySQL中使用逗號作爲分隔符
表1與用戶逗號列表分隔
Name UserID
abc A,B,C,D
def A,B,C
表2
Name UserID
abc A
abc B
abc C
def A
def B
我需要找到一個在表1的用戶爲每個名稱,但不是在table2中(當用戶ID到名稱對存在於table2中但不存在於CSV1中時,將不存在實例)。
輸出應該
Name UserID
abc D
def C
我可以用PHP這樣做,但有沒有辦法這可以通過查詢來完成?我不知道從哪裏開始以防我作爲查詢執行此操作。我可以使用逗號作爲分隔符在MySQL中解析嗎?
'我需要找到位於table1中的用戶,而不是**每個名稱**而不是table2。但是table1中的'D'不在**每個Name **中。 'D'只在'abc'中。那麼它是如何產生你想要的輸出呢? – hims056
我的意思是每個名稱UserID對.. – Ank
你已經非規範化數據庫中的數據。我建議你做的是運行一個PHP腳本來規範化數據,並將結果保存在數據庫的標準化數據庫中。這樣,這個特定的查詢和所有未來的查詢將會簡單得多。通常,最好避免存儲在數據庫字段中的逗號分隔值。有關數據庫規範化的更多信息,請訪問:http://databases.about.com/od/specificproducts/a/normalization.htm –