gpt4 book ai didi

mysql - mysql查询中的if语句?如果字段等于则左连接

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

我对我的数据库有一个查询,该查询当前从一个名为 feed 的表中获取数据,然后我获取 posterid 并将其与我的 users 表中匹配的用户 ID 连接起来.

基本上,我有 2 种类型的用户 - 1) 个人或 2) 公司/网络(信息包含在名为 networks

的表中

我的 table 看起来像这样(提要)

id| posterid| post_content| type |

1 9 Hello! user

2 10293 Meow! Network

我的查询是

$feed= $this->db->query("SELECT *,
users.*
FROM (`feed`)
LEFT JOIN users ON users.userID = feed.posterid

");

我的问题是 - 在查询中有没有办法检查类型,如果它的类型设置为用户然后加入用户表或者如果它的网络然后加入网络表而不是?

不确定这是不是真的。

谢谢

最佳答案

您可以这样做,但您需要列出所需的列。 SQL 查询返回一个固定的列列表。像这样的东西:

SELECT f.*, u.*, n.*
FROM feed f LEFT JOIN
users u
ON u.userID = f.posterid AND type = 'user' LEFT JOIN
networks n
ON n.networkID = f.posterid AND type = 'network;

“其他”表中的列为 NULL。您应该明确列出列。对于常用列,您可能需要使用 COALESCE()

关于mysql - mysql查询中的if语句?如果字段等于则左连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48442883/

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