我目前正在构建一个匹配系统。这意味着我需要用查询来识别依赖于用户的匹配。例如:匹配系统
- 用户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