内部联接帮助mysql

时间:2011-09-27 08:35:52

标签: mysql

SELECT MsgID, Name FROM tbl_message INNER JOIN tbl_user on tbl_message.UserID = tbl_user.UserID WHERE OrgID ='1' order by MsgID

我有一个消息表

msgid  msg   userid  Orgid
24     Hi     2        1
25     hsa    4        1

用户表

userid     Name    Orgid
2          cas      1
4          asd      1

我想从用户表中获取名称。我正在做内部联接以获得它但我收到错误。查询有什么问题。错误是OrgID不明确

4 个答案:

答案 0 :(得分:1)

如果您告诉我们错误是什么会有所帮助。查看您的查询,我可以看到两个错误:

  • SELECT MsgID之后有一个迷失的逗号,应删除。
  • 该语句的WHERE OrganisationID ='1'部分似乎引用了不存在的列OrganisationID。也许将其更改为Orgid

答案 1 :(得分:1)

您可以使用给定的查询:

SELECT message.msg, message.msgid, message.userid, 
message.orgid, user.username, user.orgid
FROM user INNER JOIN message 
ON user.userid = message.userid 
WHERE  message.orgid='1' 
order by  message.msgid

我希望这会帮助你。

答案 2 :(得分:0)

SELECT MsgID FROM tbl_message INNER JOIN tbl_user on tbl_message.UserID = tbl_user.UserID WHERE OrgID ='1' order by MsgID

答案 3 :(得分:0)

以下代码可以在您的代码Orgid中使用,条件是ambigious

SELECT 
   msgid
FROM 
   tbl_message
INNER JOIN tbl_user ON tbl_message.UserID = tbl_user.UserID
WHERE 
   tbl_message.Orgid = 1
   AND tbl_user.Orgid = 1
ORDER BY msgid