gpt4 book ai didi

php - 基于用户级别不同的mysql join查询

转载 作者:可可西里 更新时间:2023-11-01 08:20:52 26 4
gpt4 key购买 nike

我正在寻找执行以下操作的想法或最佳实践:

我有表格:profile 包含基本信息(id、email、pass、lvl)profile_user 包含(pid、姓名、年龄等)profile_mod 包含(pid、company_name、money 等)

如您所见,我将对两个表进行左连接以获取全部信息,但连接将全部基于属性 lvl。如果 lvl=1 它将在 profile_user 上左连接,而 lvl=2 将在 profile_mod 上执行连接。

我的问题是,我不想对每个查询执行检查以获取 lvl,然后对其他两个表执行 leftjoin。我想知道这种情况是否有最佳实践。

最佳答案

你可以这样做:

SELECT    *
FROM profile a
LEFT JOIN profile_user b ON a.id = b.pid AND a.lvl = 1
LEFT JOIN profile_mod c ON a.id = c.pid AND a.lvl = 2

如果 lvl1profile_user 中的字段值将被填充,profile_mod 中的值将是NULL.

同样,如果 lvl2,则 profile_user 中字段的值将为 NULL,但profile_mod 将被填充。

关于php - 基于用户级别不同的mysql join查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11706175/

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