gpt4 book ai didi

php - MYSQL - 从同一查询中的查找表和主表中的字段获取值

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

我有 2 个表,我将在下面描述:

1) 主表按 U_ID 自动递增,并有一个名为 RU_ID 的列,该列引用查找表的 ID。

2) Lookup 表由 RU_ID 自动递增,并且有一个名为 ROLE 的列,它有一个字符串值。

现在我需要一个 SELECT 语句来显示主表的所有值 (SELECT * FROM...) 和查找表的 ROLE 值.

到目前为止我有这个:请注意,= 2 仅对于此示例是静态的,这将是一个包含 RU_ID 编号的变量。此示例还将在 PHP - PDO 中使用,但 SQL 查询实际上是通用的。

    SELECT * 
FROM tbl_users as u
WHERE u.RU_ID = 2
AND STATUS = 1
AND u.RU_ID IN
(SELECT ROLE
FROM tbl_role_users, tbl_users
WHERE RU_ID = 2)";

感谢您与我一起研究这个问题。

最佳答案

你试过加入吗?

SELECT t.*, t1.role
FROM tbl_users t
JOIN tbl_role_users t1 ON t.RU_ID = t1.RU_ID -- # --or t1.ID whichever is referenced
WHERE t1.RU_ID = 2
AND t.status = 1;

如果您想在不过滤多余行的情况下加入表格,则只需在 JOIN 之前添加 LEFT

注意事项:

我建议您远离连接表的 ANSI 之前的方式,并实际使用 JOIN 语法,因为它在复杂的查询中更容易阅读,或者您可以使用 JOIN 语法获得更多功能......这样您就不需要IN() 语句

关于php - MYSQL - 从同一查询中的查找表和主表中的字段获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26224025/

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