我刚开始使用SQL连接。这对我来说是全新的。我试过INNER JOIN。它有效,但我需要更复杂的东西。
我有3张桌子:
Topics
- 我在此处列出文章类别。 (id,title)
Content
- 我保留文章列表(id,title,topic_id,text,cpc,user_id)
Users
- 此处是用户列表(ID,用户名,硬币)
我想做的是:
首先列出所有主题(显示标题),然后在每个标题后立即显示content
条记录中的4条(与当前topic_id
具有相同的topics.id
)并按此algoryth订购记录:< / p>
从content
中选择4位作者(content.user_id
)所需的记录coins
(在users
表中)。我可以在php中使用简单条件的while循环中执行此操作并检查if content.cpc < users.coins
如果是,请不要echo
此记录。只有当这4个记录具有不同的4个作者(user_id
)时,它才能正常工作。但,
如果这些记录中至少有两个具有相同的作者(user_id
),那么result
= content.cpc [1] + content.cpc [2](将result
与{{1}进行比较如果users.coins
较少,则只显示其中2条记录中的1条)我的意思是result
只显示1条记录的硬币。
- &GT;来自(1)ORDER BY content.cpc DESC
- &GT;从(2),ORDER BY content.date DESC
此时我的大脑能做的是:
user_id
虽然记录有不同$rs3 = $connector->query("SELECT *
FROM
(SELECT content.*, users.coins
FROM content
INNER JOIN users ON content.user_id=users.id
ORDER BY content.cpc DESC LIMIT 4
) a
ORDER BY a.date DESC");
,但仍有效
希望你能理解我,感谢你在阅读时的关注。如果我应该编辑一些东西,请告诉我。