除了某些列之外,如何进行 LEFT OUTER JOIN?
How to make LEFT OUTER JOIN except some colums?
我有 3 个表:
首先"placement"
第二个"user_info"
第三个"user_placements"
我想获取所有展示位置数据和用户信息,
怎么做?
我试过了,但结果不是我预期的那样:
SELECT *, user_placements.id AS user_placements_id, placement.id AS placement_id
FROM placement
LEFT OUTER JOIN user_placements ON placement.id = user_placements.id_placement
您需要再加入一次用户信息
SELECT placement.*,user_info.id as user_info_id,user_info.name as user_name,user_info.mobile as user_mobile
FROM placement LEFT OUTER JOIN user_placements ON placement.id = user_placements.id_placement
LEFT OUTER JOIN user_info ON user_info.id = user_placements.id_user
您缺少第二个连接:
SELECT *
FROM placement AS p
JOIN user_placements AS up ON p.id = up.id_placement
JOIN user_info AS u ON up.id_user = u.id
用你想要的数据替换通配符。
您当然会通过此查询获得重复数据。
我有 3 个表:
首先"placement"
第二个"user_info"
第三个"user_placements"
我想获取所有展示位置数据和用户信息,
怎么做?
我试过了,但结果不是我预期的那样:
SELECT *, user_placements.id AS user_placements_id, placement.id AS placement_id
FROM placement
LEFT OUTER JOIN user_placements ON placement.id = user_placements.id_placement
您需要再加入一次用户信息
SELECT placement.*,user_info.id as user_info_id,user_info.name as user_name,user_info.mobile as user_mobile
FROM placement LEFT OUTER JOIN user_placements ON placement.id = user_placements.id_placement
LEFT OUTER JOIN user_info ON user_info.id = user_placements.id_user
您缺少第二个连接:
SELECT *
FROM placement AS p
JOIN user_placements AS up ON p.id = up.id_placement
JOIN user_info AS u ON up.id_user = u.id
用你想要的数据替换通配符。 您当然会通过此查询获得重复数据。