gpt4 book ai didi

php - SQL Select 使用同一表中的不同参数

转载 作者:行者123 更新时间:2023-11-29 13:04:59 25 4
gpt4 key购买 nike

概念很简单:根据某个 id 从 table1 中获取一个字段,并根据与 table1 不同的 id 从 table2 中获取一个字段,该字段代表具有最高值的记录。所有一个查询,两个表。

我尝试过连接、子查询、连接和子查询以及所有这些的混合,但都无济于事。如果有人能够做到这一点,他们将受到我最深切的敬意,因为我已经尝试了两天了。以下是伪代码中的步骤:

  1. 表:表 1(字段 1 和字段 3)和表 2(字段 2)
  2. 从表 1 字段 1 和表 2 字段 2 中选择
  3. 根据table1.id获取field1
  4. 根据table1.id中最高的,从table2中获取field2字段 3 中的值

要知道的事情:表 2 有一个链接到表 1 的外键。我以不同的方式使用表 1 中的信息来创建评论及其评论,它们基本上是相同的内容,包含相同类型的数据,但使用方式不同。我通过知道谁是 parent (评论)和谁是 child (评论)来将它们分开。例如,我试图根据浏览次数最多的评论来获取评论数据及其描述。

示例查询:

SELECT reviews.title, descriptions.description
FROM reviews, descriptions
WHERE reviews.id = 1
AND descriptions.review_id = (
SELECT id
FROM reviews
WHERE views = (
SELECT MAX(views)
FROM reviews
WHERE parent = 1
-- Parent is the same id used above to select the review
)
);

我在大多数查询中得到空集结果,我尝试过其他查询,只是在 View 字段中给我重复的数据。我知道你们中的一些人可能会认为我应该为我的评论创建一个不同的表,但我认为这种方式可以节省大量数据库空间,我将此视为一个挑战。提前谢谢大家。

注意:请阅读问题 - 如果不完全阅读它,将很难理解。

根据要求:

table: reviews
id | title | views |
2 'My Title' 5
1 'Other Title' 1
3 'Third Title' 3

table: description
id | description | review_id |
1 'Good description' 2
2 'Great description' 1
3 'Bad description' 3

结果应该是:选择“良好的描述”,因为它是链接到观看次数最多的评论的描述。标题是根据传入的内容选择的。

title     |  description     |
'Other Title' 'Good description'

最佳答案

好吧,这在 SqlServer 中有效,不确定 MySQL,但也许它会帮助您走上正轨。

Select Top 1 Parent.Title, Descriptions.Description
From Reviews Parent
inner join Reviews Child
on Parent.Id = Child.Parent
inner join Descriptions
on Child.Id = Descriptions.review_id
Where Parent.Id = 1
Order By Child.[Views] desc

fiddle :http://sqlfiddle.com/#!6/89a76/1

没有按请求的表名称的伪代码

Select Take the Top 1 Parent.Title, Descriptions.Description
From Table1 (The Parent)
inner join Table1 Back onto itself (The Child)
linking The parents Id to the Child's Parent
inner join Table2 onto the Child
Linking Child's Id to the Descriptions' review_id
Where the parents Id is 1 (or the Passed in value)
Order By The number of views the child had desc

关于php - SQL Select 使用同一表中的不同参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22844661/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com