Hurpe,是你描述你將有一個數據庫表列中的場景,可以包含多達15個關鍵字。稍後,您將使用這些關鍵字來搜索大概會有其他列的表格?
那麼是不是有一個單獨的關鍵字表的答案?您還需要在關鍵字和主表格之間建立多對多的關係。
因此,使用汽車爲例,字表將存儲15個左右的關鍵字將具有以下結構:
ID int
Word varchar(100)
的CAR表將有一個結構是這樣的:
ID int
Name varchar(100)
然後最後你需要一個CAR_WORD表來保存許多一對多的關係:
ID int
CAR_ID int
WORD_ID int
個樣本數據去用這個字表:
ID Word
001 Family
002 Sportscar
003 Sedan
004 Hatchback
005 Station-wagon
006 Two-door
007 Four-door
008 Diesel
009 Petrol
與CAR的表
ID Name
001 Audi TT
002 Audi A3
003 Audi A4
樣本數據
在一起,然後在路口CAR_WORD表樣本數據可能是:
ID CAR_ID WORD_ID
001 001 002
002 001 006
003 001 009
這給了奧迪TT的正確特徵。
終於搜索SQL會是這樣的:
SELECT c.name
FROM CAR c
INNER JOIN CAR_WORD x
ON c.id = x.id
INNER JOIN WORD w
ON x.id = w.id
WHERE w.word IN('Petrol', 'Two-door')
唷!沒有打算寫太多,看起來很複雜,但是我總是看起來最終會陷入困境,儘管我試圖簡化事情。
太棒了!其實真的很有趣。 – objectivesea 2009-01-13 16:39:34