我目前正在構建一個匹配系統。這意味着我需要用查詢來識別依賴於用戶的匹配。例如:匹配系統
- 用戶X想要產品A和在返回具有產品B
- 用戶Y希望產品B和具有產品A在返回
=>所以這將是可能的匹配和用戶X有一個用戶Y想要的和相反的產品。
現在我想到的是如何構建的數據庫表和一個可能的選擇查詢可能看起來怎麼樣:
tbl_offers
offer_ID | user_ID | want_ID | has_ID
然後拿到比賽我會列want_ID對列has_ID比較,像即:
$sql = 'SELECT * FROM tbl_offers WHERE user_ID = 1 AND want_ID = has_ID';
我不知道這個模式是我的情況下,最好的解決辦法,特別是是否會有性能問題時,記錄的增加。如果上述方法可行,您能否給我一個反饋意見?
謝謝!
你肯定'其中USER_ID =「1」'?雙引號? (我不確定,因爲在大多數情況下,'1'將會是一個列名,那麼你必須寫'WHERE user_ID ='1''並且避開這個。)當它是一個int列時)你應該只寫'WHERE user_ID = 1' –
這看起來像一個糟糕的設計。 – Strawberry
@Strawberry你有另一種設計的建議:)? – Jimmy