Как удалить дубликаты с 8 внутренними соединениями?
Я не уверен, что кто-то будет заинтересован в том, чтобы помочь самостоятельному стартеру без особых знаний. Я заказал книгу по SQL, но у меня ее еще нет.
Я получаю данные и пробовал выбрать различные несколько способов и команду union, но безуспешно удаляя дубликаты.
Patid, дата appt и adacode должны управлять удалением дубликатов. Когда я делаю Select distinct, я получаю только два поля. Я попробовал больше полей и получил ошибки. Я попробовал Союз и те же ошибки. Поскольку я начинаю и недостаточно осведомлен, мне нужна помощь! Мой код приведен ниже.
Что я уже пробовал:
Select rb.city, ab.PATID, pb.firstname, pb.lastname, clb.idnum, pb.firstvisitdate, pb.lastvisitdate, ab.apptdate, CodeB.adacode, CodeB.description, LogB.Amount, InsB.groupname, InsB.insconame, Instb.copayment, Logb.chart_status FROM ddb_appt_base AS ab INNER JOIN ddb_pat_base AS pb ON ab.patid = pb.patid INNER JOIN ddb_insured_base AS ib ON pb.patid = ib.insuredid INNER JOIN ddb_insurance_base AS InsB ON ib.insid = InsB.insid INNER JOIN DDB_PROC_LOG_BASE AS LogB ON ab.PATID = LogB.PATID Inner Join DDB_PROC_CODE AS CodeB On codeb.proc_codeid = LogB.proc_codeid Inner Join DDB_RSC_BASE AS rb On rb.urscid = Logb.clinicappliedto Inner Join DDB_INSTABLE_BASE As Instb On ib.insid = instb.insid Inner Join ddb_claim_base AS clb ON clb.patid = ab.patid WHERE ab.apptdate BETWEEN '2016-05-01 00:00:00.000' AND '2017-04-30 00:00:00.000' AND InsB.insid IN ( '1002420', '1002707', '1003104', '1003096', '1002814', '1002820', '1002439', '1002579', '1003132' ) AND rb.city IN ( 'Anderson')
Richard Deeming
Если вы хотите получить помощь в исправлении ошибки, вам необходимо предоставить полную информацию об этой ошибке.
Если вам нужна помощь в исправлении вашего запроса, вам нужно показать нам образец входных данных, желаемые выходные данные из этого образца и то, что ваш запрос в настоящее время производит.
Предпочтительно, создать Скрипка SQL[^] с некоторыми фиктивными данными для репликации проблемы.
NB: DISTINCT
распространяться ВСЕ столбцы в ваших результатах. Если вам нужны отдельные записи, основанные на подмножестве столбцов, то вам нужно будет использовать GROUP BY
, и выберите агрегатную функцию для других возвращаемых столбцов.
GROUP BY (Transact-SQL) - SQL Server | Microsoft Docs[^]