SQL查询与2个表的联接

SQL查询与2个表的联接,sql,join,Sql,Join,我无法使用以下表格进行查询,这些表格将从Note table中查找所有备注,Note table由任何登录用户所在公司的用户创建 注意: note_id (int), note_text (varchar), created_by (int) 用户: user_id (int), company_id (int) 登录用户的用户id作为参数传递给查询 select n.* from Note n where n.created_by in ( select u1.user_id f

我无法使用以下表格进行查询,这些表格将从Note table中查找所有备注,Note table由任何登录用户所在公司的用户创建

注意

note_id (int), 
note_text (varchar), 
created_by (int)
用户

user_id (int), 
company_id (int)
登录用户的用户id作为参数传递给查询

 select n.* from Note n where
n.created_by in (
 select u1.user_id from User u1 inner join User u2
 on u1.company_id=u2.company_id and u2.user_id = :LOGGED_IN_USER_ID*
 )
我想从in创建的表
notes
中提取注释(其公司id=登录用户的公司id的所有用户的用户id)


请帮我解释一下这个问题。看起来很直截了当,但就是达不到它的结尾。

我不确定登录用户是表还是其他对象,但如果它是一个包含您引用的列的表,像这样的连接将起作用

select note_text
from Note n
JOIN User u ON u.user_id = n.created_by
JOIN LOGGED_IN_USER lin ON lin.user_id = u.user_id 
and lin.company_id = u.company_id

我不确定登录的用户是一个表还是另一个对象,但如果它是一个包含您引用的列的表,像这样的连接将起作用

select note_text
from Note n
JOIN User u ON u.user_id = n.created_by
JOIN LOGGED_IN_USER lin ON lin.user_id = u.user_id 
and lin.company_id = u.company_id

您可能需要一个外键,以便将用户id添加到Notes。并使用内部连接

u可能需要一个外键,以便将用户id添加到Notes中。并使用内部连接

如果我没有误解您的问题,请尝试这种方式

SELECT note_text
FROM Note n
INNER JOIN User u ON u.user_id = n.created_by
WHERE n.created_by= (select u.user_id from User where company_id=LOGGED_IN_USER LIMIT 1 )

如果我没有误解你的问题,试试这个方法

SELECT note_text
FROM Note n
INNER JOIN User u ON u.user_id = n.created_by
WHERE n.created_by= (select u.user_id from User where company_id=LOGGED_IN_USER LIMIT 1 )

谢谢Vinnie和所有人的回复。我终于成功地解决了这个问题。LOGGED_IN_USER_ID只是一个数字参数,应该传递给查询

 select n.* from Note n where
n.created_by in (
 select u1.user_id from User u1 inner join User u2
 on u1.company_id=u2.company_id and u2.user_id = :LOGGED_IN_USER_ID*
 )

再次感谢。

感谢Vinnie和所有人的回复。我终于成功地解决了这个问题。LOGGED_IN_USER_ID只是一个数字参数,应该传递给查询

 select n.* from Note n where
n.created_by in (
 select u1.user_id from User u1 inner join User u2
 on u1.company_id=u2.company_id and u2.user_id = :LOGGED_IN_USER_ID*
 )

再次感谢。

所以您需要三张表:Note、User和User1。用户和用户1将在公司ID上加入。对于SQL,您尝试了什么?并不是说它太重要了,而是你在用什么数据库管理程序?这就是——是的,就像Vinnie发布的……所以您需要三个表:Note、User和User1。用户和用户1将在公司ID上加入。对于SQL,您尝试了什么?并不是说它太重要了,而是你在用什么数据库管理程序?这是刚刚进来的——是的,就像维尼贴的。。。。