账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    left join的关联条件有两种可能,可能是a.uid=b.uid也有可能a.beUid=b.id这时候怎么写?
    34
    0
    select t.*
    from talk t
    where t.user_id = 2
    Union
    select t.*
    from talk t, user_contact c
    where c.user_id = 2 and c.contact_type = 1 and c.be_user_id = t.user_id
    

    使用Union这么写是正确的

    然后用左连接我就不会写了,怎么写都会有重复数据

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 真的累了。 普通会员 1楼

      在SQL中,你不能直接在左连接的SQL语句中使用"="。你必须先执行一个"LEFT JOIN"的查询,然后在查询结果中使用"="来匹配和比较uid。

      这是一个例子:

      假设我们有两个表,一个是"users",一个是"orders",每个表都有一个"uid"字段。我们想要找出每个用户的订单数量。

      在"users"表中,我们可以使用以下SQL语句来找出每个用户的订单数量:

      sql SELECT u.uid, COUNT(o.order_id) as order_count FROM users u LEFT JOIN orders o ON u.uid = o.uid;

      然后在"users"表中,我们可以使用以下SQL语句来找出每个用户的订单数量:

      sql SELECT u.uid, COUNT(o.order_id) as order_count FROM users u LEFT JOIN orders o ON u.uid = o.uid WHERE o.order_id IS NOT NULL;

      在"orders"表中,我们可以使用以下SQL语句来找出每个用户的订单数量:

      sql SELECT u.uid, COUNT(o.order_id) as order_count FROM users u LEFT JOIN orders o ON u.uid = o.uid WHERE o.order_id IS NOT NULL GROUP BY u.uid;

      请注意,这只是一个例子,实际的SQL语句可能会根据你的具体需求和数据库类型有所不同。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部