Я хотел бы знать, как я могу избавиться от дубликатов из-за моих объединений между различными, пожалуйста?
Вот мой запрос:
SELECT
T_OF.OFID, T_OF.OFDateDPrev, T_OF.OFDateFPrev,
DATEDIFF (second, T_OF.OFDateDPrev, OFDateFPrev) AS DureePrevSec,
T_OF.OFDateDReelle,
T_OF.OFDateFReelle,
DATEDIFF (second, T_OF.OFDateDReelle, OFDateFReelle) AS DureeRelleSec,
T_OF.OFEtat,
T_OF.OFDateState,
T_Sequence_phase_OF.SeqPhaseNom,
T_OF.OFQtyPrev,
T_OF.OFQtyReal,
T_OF.ArtID,
T_OF.UnitID,
T_OF_Nomenclature.OFNomQty,
T_OF.LineID,
T_OF_User.OFUserID,
T_Sequence_phase_OF.SeqPhaseId,
T_Sequence_phase_OF.SeqId,
T_Sequence_phase_OF.SeqPhaseEtat,
T_Sequence_phase_OF.SeqPhaseDateEtat,
T_Sequence_phase_OF.SeqPhaseDateDebut,
T_Sequence_phase_OF.SeqPhaseDateEnd
INTO T_tracing2
FROM T_OF
INNER JOIN T_OF_Nomenclature
ON T_OF.OFID = T_OF_Nomenclature.OFID
INNER JOIN T_OF_User
ON T_OF_User.OFID = T_OF.OFID
INNER JOIN T_Sequence_phase_OF
On T_Sequence_phase_OF.OFId = T_OF.OFID
ALTER TABLE T_tracing2 ADD OFUserPrevID VARCHAR (200) DEFAULT '1'
ALTER TABLE T_tracing2 ADD LineID VARCHAR (200) DEFAULT '100'
ALTER TABLE T_tracing2 ADD ArtPrevID VARCHAR (200) DEFAULT '245'
Дубликаты находятся в Столбцы SeqPhaseNom, потому что я сделал 3 объединения, внезапно это поле повторяется 3 раза в моей таблице.
Я привожу пример таблиц: T_OF table:
T_OF
OFID OFDateDPrev OFDateFPrev
159 2019-12-17 16:30:00.000 2019-12-19 00:00:00.000
160 2019-12-19 16:38:36.743 2019-12-19 17:38:36.743
161 2019-12-19 00:00:00.000 2019-12-19 08:00:00.000
162 2020-01-15 00:00:00.000 2020-01-16 00:00:00.000
163 2020-01-15 12:22:18.090 2020-01-15 13:22:18.090
164 2020-01-15 12:31:20.053 2020-01-15 13:31:20.053
165 2020-01-15 13:45:22.467 2020-01-15 14:45:22.467
166 2020-01-16 08:03:00.000 2020-01-16 08:06:00.000
T_Sequence_Phase_OF table:
T_Sequence_Phase_OF
OFId SeqPhaseNom SeqPhaseId SeqPhaseEtat SeqPhaseDateDebut
161 Debut 1 170 2019-12-19 16:51:46.523
161 Ecriture 2 140 2019-12-19 16:51:47.323
164 Debut 3 170 2020-01-15 12:31:54.617
164 Boucle Flacon4 170 2020-01-15 12:31:55.587
164 Stockage 5 160 2020-01-15 12:31:56.183
165 Debut 6 170 2020-01-15 13:45:32.307
165 Boucle Flacon 7 170 2020-01-15 13:45:32.823
165 Stockage 8 170 2020-01-15 13:45:33.407
165 Remplissage 9 170 2020-01-15 14:03:58.283
165 Bouchonnage 10 170 2020-01-15 14:04:03.350
165 Destockage 11 170 2020-01-15 14:04:07.383
165 Retour boucle flacon 14 170 2020-01-15 14:04:14.220
165 Boucle Flacon 15 170 2020-01-15 14:04:14.917
165 Stockage 16 170 2020-01-15 14:04:15.603
165 Remplissage 17 170 2020-01-15 14:05:37.443
165 Bouchonnage 18 170 2020-01-15 14:05:41.340
T_OF_user
T_Users
OFId OFUserID
161 108
162 109
162 110
163 111
164 112
165 113
Таблица номенклатуры T_:
T_Nomenclature
OFId OFNomQty
159 3.0000
162 40.0000
162 4.0000
162 4.0000
163 3.0000
163 3.0000
163 3.0000
164 40.0000
164 4.0000
164 4.0000
Результат этого запроса:
OFID OFDateDPrev OFDateFPrev SeqPhaseNom
164 2020-01-15 2020-01-15 Debut
164 2020-01-15 2020-01-15 Debut
164 2020-01-15 2020-01-15 Debut
164 2020-01-15 2020-01-15 Boucle Flacon
164 2020-01-15 2020-01-15 Boucle Flacon
164 2020-01-15 2020-01-15 Boucle Flacon
164 2020-01-15 2020-01-15 Stockage
164 2020-01-15 2020-01-15 Stockage
164 2020-01-15 2020-01-15 Stockage
165 2020-01-15 2020-01-16 Debut
165 2020-01-15 2020-01-15 Debut
165 2020-01-15 2020-01-15 Debut
165 2020-01-15 2020-01-15 Boucle Flacon
165 2020-01-15 2020-01-15 Boucle Flacon
165 2020-01-15 2020-01-15 Boucle Flacon
.....
У нас три раза одинаковые SeqPhaseNom, потому что я выполнил три соединения
И в результате я хочу получить следующее:
OFID OFDateDPrev OFDateFPrev SeqPhaseNom
164 2020-01-15 2020-01-15 Debut
164 2020-01-15 2020-01-15 Boucle Flacon
164 2020-01-15 2020-01-15 Stockage
165 2020-01-15 2020-01-15 Debut
165 2020-01-15 2020-01-15 Boucle Flacon
....
Может быть, мой запрос не выполнен должным образом. Может быть, я должен использовать несколько вложенных SELECT, но я не знаю, как?
Любая помощь, пожалуйста?