我有2张桌子" 请求"和" 个人资料"。我想查询两个表并从配置文件获取结果,其中值 NOT EQUAL 到" 1 "在请求表上的 request_req1 列和 request_req2 上。
请求
配置文件
目前MySQL查询正在使用
SELECT
profiles.profile_id,
profiles.profile_pub_key,
profiles.profile_photo,
profiles.profile_username,
profiles.profile_name,
requests.request_req1,
requests.request_req2
FROM
PROFILES
INNER JOIN
requests ON requests.request_req1 <> 1
INNER JOIN
requests ON requests.request_req2 <> 1
WHERE
profiles.profile_id <> 1
ORDER BY
RAND()
LIMIT 2
上述查询返回MySQL语法错误。请帮忙,我在这里做错了什么。
答案 0 :(得分:1)
尝试它是否适合您:
SELECT
P.profile_id,
P.profile_pub_key,
P.profile_photo,
P.profile_username,
P.profile_name,
R.request_req1,
R.request_req2
FROM
PROFILES P
INNER JOIN
requests R
ON (R.request_req1 <> 1 AND R.request_req2 <> 1)
WHERE P.profile_id <> 1
ORDER BY RAND()
LIMIT 2
答案 1 :(得分:1)
尝试此查询:
SELECT
profiles.profile_id,
profiles.profile_pub_key,
profiles.profile_photo,
profiles.profile_username,
profiles.profile_name,
requests.request_req1,
requests.request_req2
FROM
PROFILES
INNER JOIN
requests
ON requests.request_req1 = PROFILES.request_req1
AND requests.request_req2 = PROFILES.request_req2
WHERE profiles.profile_id <> 1
AND requests.request_req2 <> 1
AND requests.request_req1 <> 1
ORDER BY RAND()
LIMIT 2