2016-04-12 174 views
0

我需要檢索匹配搜索值的一部分的記錄。如何檢索與部分搜索匹配的記錄?

The EventsAttended column of the records.

說明:

圖像中列上認爲,學生參加了此次活動的ID。 所有事件都有相應的ID。在我的VB代碼中,我使用Split()函數將EventsAttended列值與分隔符「,」分開,並將它們放入數組中。

我需要

我需要知道我是如何要去使用查詢通過匹配我的搜索的一部分來檢索的記錄。它具有很長的價值,單靠一個人就不會完成這項工作,因爲它代表了確切的價值。但就我而言,例如,我想要所有包含77的記錄,因此它將返回行0,6和8,因爲它們具有77。例如,假設我想要包含144146的所有記錄,因此它將僅返回第6和第8行。

預先感謝您。

+5

我建議不要將該分隔文本存儲在單個字段中,而是創建另一個表,每個學生和事件的組合都有一個記錄。這將使您現在要求的查詢非常簡單。這是一種虛假的經濟,將這種數據壓縮到一個領域。 – jmcilhinney

+0

謝謝你的建議。我就是這樣做的,因爲這樣做的目的很好。但是,你說得對,當我想清楚我將如何做時,我想到的是同樣的事情,雖然它做了這項工作,但我認爲這個想法出來了,但就像你說的那樣不理想,但我會堅持這一點一個現在。 :) – BillyD

回答

1

您可以使用像.... 假設你想serch主頁 '77' 試圖

select * 
from my table 
where EventsAttended like ('77,%') 
    or EventsAttended like ('%,77,%') 
    or EventsAttended like (',77%') ; 
+0

非常感謝你,等我回家後我會試試這個。 – BillyD

+0

最後一行應該是'或EventsAttended('%,77')'。 – jmcilhinney

+0

謝謝@ jmcilhinney和_scaisEdge_,它的工作原理就是我想讓它像魅力一樣!非常感謝。 – BillyD

1

您可以使用:

Select * From YourTable Where "," & [EventsAttended] & "," Like "*," & [EventID] & ",*" 

非常無效,所以不要聽@jmcilhinney和重新設計這從頭開始。

+0

謝謝我以後會嘗試這個。是的,我會重新設計我的系統,但我會重建幾乎80%的依賴此分隔文本字段的代碼。 – BillyD