对工会使用与众不同的关键字 [英] Using distinct keyword with union

查看:74
本文介绍了对工会使用与众不同的关键字的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

尽管使用UNION和DISTINCT关键字,但查询中却出现重复行.

这是我的查询:

I am getting Duplicate rows in my query, despite using UNION and DISTINCT keywords.

Here is my query:

(SELECT DISTINCT A.AppointmentId,
                 u.Firstname,
                 u.Gender,
                 u.UserEmail,
                 u.PhoneNo,
                 a.PatientFirstName,
                 a.PatientLastName,
                 a.PatientGender,
                 a.Date,
                 a.TimeStart,
                 a.CompanyId,
                 C.CompanyName,
                 a.ProviderId,
                 a.TimeEnd,
                 a.Reason,
                 Ad.Line1,
                 Ad.Line2,
                 Ad.City,
                 Ad.State,
                 Ad.Zip
 FROM   Users u,
        Appointment a,
        Company C,
        Address Ad
 WHERE  u.UserId = a.UserId
        AND A.CompanyId = C.Id
        AND C.AddressId = Ad.Id
        AND A.ProviderId = '2EA0430F-3775-4623-92B1-5045CF836C11')
UNION
(SELECT DISTINCT A.AppointmentId,
                 E.Name AS FirstName,
                 E.Gender,
                 E.Email AS UserEmail,
                 E.PhoneNumber AS PhoneNo,
                 a.PatientFirstName,
                 a.PatientLastName,
                 a.PatientGender,
                 A.Date,
                 A.TimeStart,
                 A.CompanyId,
                 C.CompanyName,
                 A.ProviderId,
                 A.TimeEnd,
                 A.Reason,
                 Ad.Line1,
                 Ad.Line2,
                 Ad.City,
                 Ad.State,
                 Ad.Zip
 FROM   Appointment A,
        Employee E,
        Company C,
        Address Ad
 WHERE  A.ProviderId = '2EA0430F-3775-4623-92B1-5045CF836C11'
        AND C.AddressId = Ad.Id
        AND A.UserId = E.EmployeeId
        AND A.CompanyId = C.Id)
ORDER  BY A.Date DESC





Can anybody tell me why this is happening, and help me fix it?

推荐答案

UNION默认会删除不同的行.
检查您的联接,以确保没有重复项被返回.
UNION removes distinct rows by default.
Check your joins to ensure no duplicates are being returned.


这篇关于对工会使用与众不同的关键字的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆