2011-09-27 6 views
0
SELECT MsgID, Name FROM tbl_message INNER JOIN tbl_user on tbl_message.UserID = tbl_user.UserID WHERE OrgID ='1' order by MsgID 

J'ai une table de messageINNER JOIN aide dans une base MySQL

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

table utilisateur

userid  Name Orgid 
2   cas  1 
4   asd  1 

Je veux obtenir le nom de la table utilisateur. Je fais la jointure interne pour l'obtenir mais je reçois l'erreur. quel est le problème avec la requête. L'erreur est OrgID est ambigu

+0

Que dit l'erreur? –

Répondre

1

Vous pouvez utiliser la requête donnée:

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 

J'espère que cela va vous aider.

1

Il serait utile si vous nous avez dit ce que l'erreur est. En regardant votre requête, deux erreurs que je peux voir sont:

  • Il y a une virgule parasite après SELECT MsgID qui doit être retiré. La partie WHERE OrganisationID ='1' de l'instruction semble faire référence à une colonne OrganisationID qui n'existe pas. Peut-être le changer en Orgid?
0
SELECT MsgID FROM tbl_message INNER JOIN tbl_user on tbl_message.UserID = tbl_user.UserID WHERE OrgID ='1' order by MsgID 
0

Le code ci-dessous fonctionnera, dans votre code OrgID dans lequel l'état est mal assurés

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