如何在mysql中使用JOIN语句实现以下功能?

时间:2014-06-13 05:45:08

标签: mysql sql

我有

表1:r_profile_token

列:

r_sequence     int(45) AI PK
r_profileid    varchar(45)
r_token        varchar(300)
r_deviceType   int(1)
r_date         date
r_time         time

表2:r_token_arn

列:

r_token    varchar(300) PK
r_arn      varchar(300)

我需要表格的结果 -

r_profileid
r_arn
r_deviceType

我可以指定r_profileid

到目前为止,我的SQL语句是:

SELECT 
    b.r_arn, 
    a.r_deviceType 
FROM 
    coffee2.r_profile_token a INNER JOIN 
    coffee2.r_token_arn b 
        ON a.r_token=b.r_token;

返回r_arnr_deviceType,但 所有 r_profileid?

如何修改语句,使其返回r_arnr_deviceType仅对应于特定r_profileid

4 个答案:

答案 0 :(得分:2)

使用WHERE条款。

SELECT B.R_ARN, A.R_DEVICETYPE 
FROM COFFEE2.R_PROFILE_TOKEN A 
INNER JOIN 
COFFEE2.R_TOKEN_ARN B 
ON A.R_TOKEN=B.R_TOKEN
WHERE  R_PROFILEID = 'SOME_VALUE';

如果您想要一个profileid,请使用

WHERE R_PROFILEID = 'SOME_VALUE';

如果您想要一系列profileIds,请使用

WHERE R_PROFILE_ID IN ('VALUE1','VALUE2','VALUE3');

答案 1 :(得分:2)

您可以根据自己的要求尝试此查询。

SELECT
    b.r_arn,
    a.r_deviceType ,
    a.r_profileid
FROM 
   r_profile_token a
   INNER JOIN
   r_token_arn b
        ON
        a.r_token=b.r_token
   where r_profileid='profile name';

答案 2 :(得分:1)

您需要在MYSql查询中添加where条件。

select b.r_arn, a.r_deviceType from coffee2.r_profile_token a 
INNER JOIN coffee2.r_token_arn b on a.r_token=b.r_token
where r_profileid = "Specific value";

答案 3 :(得分:-1)

select b.r_arn, a.r_deviceType, a.r_profileid from r_profile_token a 
INNER JOIN r_token_arn b on 
a.r_token=b.r_token;