gpt4 book ai didi

sql - 3 表 SELECT 查询的正确语法

转载 作者:行者123 更新时间:2023-12-02 04:54:00 24 4
gpt4 key购买 nike

我有 3 个表:

  • tblPosts
  • 评论
  • tbl用户

我正在尝试获取帖子列表以及相关的评论。棘手的部分似乎是让帖子和评论显示正确的作者(用户)。这是我得到的最接近的,但帖子作者不正确。我将我的 CFOutput 分组为“pid”,所以我只收到一次我期望的每个帖子。

SELECT tblPosts.pid
, tblPosts.title
, tblPosts.description
, tblPosts.price
, tblPosts.datecreated AS pdate
, tblPosts.image1
, tblComments.comment
, tblComments.datecreated AS cdate
, tblUsers.fname
, tblUsers.lname
FROM tblPosts
LEFT JOIN tblComments ON tblPosts.pid = tblComments.pid
LEFT JOIN tblUsers ON tblComments.uid = tblUsers.uid

有什么想法吗?谢谢!

最佳答案

由于两个表都包含作者 ID,因此您必须两次连接到 tblUser:一次用于帖子,一次用于评论。这意味着您必须使用表别名来区分两者。按照这些思路,pa 是“帖子作者”的别名,ca 是“评论作者”的别名。

SELECT p.pid
, p.title
, ...
, pa.fname AS PostAuthorFirstName
, pa.lname AS PostAuthorLastName
, ca.fname AS CommentAuthorFirstName
, ca.lname AS CommentAuthorLastName
FROM tblPosts p
LEFT JOIN tblUsers pa ON pa.uid = p.uid
LEFT JOIN tblComments c ON p.pid = c.pid
LEFT JOIN tblUsers ca ON ca.uid = c.uid

关于sql - 3 表 SELECT 查询的正确语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18326679/

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