到目前爲止我的數據庫中有27個表。一個詞表(一個拼字遊戲詞表)和26個關聯表。如何從字符數組中找到字符串匹配?恩。給定一個,N,T查找字符串匹配螞蟻,在字表中的棕褐色
Table Fields
================
word [id,word]
a [word_id,count]
b [word_id,count]
...
z [word_id,count]
我想弄清楚給定一個字符串匹配的單詞。
例如,如果給定的數組是a,n,t
我想知道:ant, tan, at, ta, an, na
。
我目前的策略是爆炸字符串中的每個字母,並找到匹配所有字母的關聯詞。
例如:
SELECT word.word
FROM word, a, n, t
WHERE
word.id = a.word_id OR
word.id = n.word_id OR
word.id = t.word_id
但這最終打印,在他們有一個a,n or t
所有單詞。
如果我將所有運算符切換爲AND,則只能匹配一個匹配項:ant
。
你能幫我解決這個謎題嗎?
我還關心如何處理字符串中的重複字母。我在考慮信函關聯表中的count
字段在這裏可以提供幫助。如果單詞是app
,則在p
關聯表中的計數將爲2。
我在正確的軌道與關聯表或有更好的方法嗎?
我試圖在php/mysql中相當有效地處理這個問題。我知道還有其他人在C,Perl,Java等之前解決了這個謎題。
你能解釋一下你是如何從'[a,n,t]'想出你想要的嗎? - 它對我來說看起來像是一個任意的結果列表 – Aprillion
'pa'如何得到'a,n,t'的結果列表? –
也許你最好用正則表達式'^ [ant] + $' - 不知道如何適用於你的特定問題。 – knittl