我使用了3个表,需要根据第二个表中单个列的值进行查询以从一个表返回数据。
tbl\U用户
身份证件
登录
通过
积极的
摩根士丹利资本国际公司
tbl\U主机
身份证件
名称
培训日期
MSC单元
积极的
待定理学硕士
摩根士丹利资本国际公司
MSC名称
我当前的sql语句:
SELECT
tbl_master.ID,
tbl_master.name,
tbl_master.training_date,
tbl_master.MSCUnit,
tbl_master.active,
tbl_user.mscID
FROM
tbl_master,
tbl_user
WHERE
tbl_master.active = 1 AND tbl_master.MSCUnit = tbl_user.mscID
tbl_msc.mscid中存储的值是varchar(11),它包含一个类似于a00或a19的字符串。这也是表中的主键。
tbl\u user.mscid中存储的值与tbl\u msc.mscid中的值匹配。tbl\u master.unitmsc中存储的值也与tbl\u msc.mscid中的值匹配。
我的目标是从tbl\u master返回当前登录用户具有相同mscid的所有记录。我遇到的问题是语句返回tbl\u master中的所有记录。
我尝试了几个不同的join语句,由于某些原因,我无法正确地筛选它。
我错过了一些东西。在sql语句中的任何帮助都将不胜感激。
谢谢,威尔
2条答案
按热度按时间nnt7mjpx1#
你应该用
join
s。我不知道您如何知道当前用户是谁,但我们的想法是将三个表连接在一起:注意使用适当的,明确的,标准的
JOIN
语法和表别名。tjjdgumg2#
这会给你指明正确的方向。