powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / как удалять дубли при выполнение sql запроса
4 сообщений из 4, страница 1 из 1
как удалять дубли при выполнение sql запроса
    #39929777
Kontox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите есть запрос
sql запрос
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
SELECT 
	 
      asutNbd_violations.IncidentTypeID
      ,asutNbd_violations.IncidentID
      ,asutNbd_violations.ViolationDate as Date_NAR
      ,asutNbd_violations.BrigadeEnterpriseID
      ,asutNbd_violations.ViolationID as ID_SP_NAR,

	  incidents.IncidentDate,
      incidents.RouteID,

      incidents.PersID,
      -- incidents.CasseteID,

      incidents.MIPersID as 'машинист инструктор'

	 ,routes_personal.RouteID
      ,routes_personal.PersRegID
      ,routes_personal.RoutePostID
      ,routes_personal.BeginDate
      ,routes_personal.EndDate
      ,routes_personal.RouteDate,
	  
	 /* brigades_personal.BrigadeID
      ,brigades_personal.PersID
      ,brigades_personal.RoutesPostID
	  
	,routes.CommID
   ,routes.Date
,routes.TypeID
   ,routes.EnterpriseID
  ,routes.PolygonID
     ,routes.TimeS
      ,routes.BrigadeID*/
	  
	
     personal_registration.EnterpriseID

      --,personal_registration.DateFrom 
	 , CASE 
		WHEN DATEDIFF(yyyy, personal_registration.DateFrom, getdate()) < 1 THEN 'group_0to1y'
		WHEN DATEDIFF(yyyy, personal_registration.DateFrom, getdate()) >= 1 AND DATEDIFF(yyyy, personal_registration.DateFrom, getdate()) < 4 THEN 'group_1to3y'
		WHEN DATEDIFF(yyyy, personal_registration.DateFrom, getdate()) >= 4 AND DATEDIFF(yyyy, personal_registration.DateFrom, getdate()) < 8 THEN 'group_3to8y'
		WHEN DATEDIFF(yyyy, personal_registration.DateFrom, getdate()) >= 8 AND DATEDIFF(yyyy, personal_registration.DateFrom, getdate()) < 12 THEN 'group_8to12y'
		WHEN DATEDIFF(yyyy, personal_registration.DateFrom, getdate()) >= 12 AND DATEDIFF(yyyy, personal_registration.DateFrom, getdate()) < 20 THEN 'group_12to20y'
		WHEN DATEDIFF(yyyy, personal_registration.DateFrom, getdate()) >= 20 THEN 'group_20y'
		ELSE NULL 
	  END AS DateFrom
	  ,personal_registration.DateTo
      ,personal_registration.TabNum
      ,personal_registration.IsDetached as 'уволен или нет'


	  
	/*  CONCAT('+', sps.SeriesID, sps.Number, Litera, sps.Section) AS LokSeries
      -- ,[SeriesID] as LokSeries
      -- Number
      -- Litera
	  -- Section
      ,sps.SpsTypeID
      ,sps.Number8
      ,sps.RoadID as KOD_DOR
      ,sps.EnterpriseID
      ,sps.IsWorksFromKrsps
	  
  	   -- nsi_roads.ID
      ,nsi_roads.CaptionLong*/




      ,personal.LastName
      ,personal.FirstName
      ,personal.PatrName
      ,personal.CurrEnterpriseID  as KOD_DEPO
      ,personal.CurrDateTo
      ,personal.CurrTabNum
      ,personal.CurrIsDetached

      ,personal.MainTabNum as 'основной персонал это табельники людей'
      /*,personal.CurrPostID
      ,personal.CurrPostDate
      ,personal.CurrPostIsUsed
      ,personal.CurrPostIsMash
      ,personal.CurrPostIsPom
      ,personal.CurrPostIsMashInstr*/

	/*,report_send230Fail.*
	
	,personal_notAllowedReport_roads.**/

	FROM asutNbd_violations 
		inner JOIN incidents ON asutNbd_violations.CasseteID = incidents.CasseteID
		inner JOIN routes_personal ON incidents.RouteID = routes_personal.RouteID
		inner JOIN [report_routesIssue] ON routes_personal.[RouteDate] = [report_routesIssue].[RouteDate]
		------ 
		inner JOIN brigades_personal ON routes_personal.RoutePostID = brigades_personal.RoutesPostID
		---- 
	 inner JOIN routes ON brigades_personal.BrigadeID = routes.BrigadeID
	inner JOIN personal_registration ON routes.EnterpriseID = personal_registration.EnterpriseID
		--INNER JOIN sps ON personal_registration.EnterpriseID = sps.EnterpriseID
		--INNER JOIN nsi_roads ON sps.RoadID = nsi_roads.ID
				inner JOIN personal_registration AS PR5 ON incidents.PersID = PR5.[PersID]
		inner JOIN personal ON personal_registration.[DateTo] = personal.[CurrDateTo]
		and personal_registration.[TabNum] = personal.[CurrTabNum]
		--left JOIN personal ON personal_registration.[TabNum] = personal.[CurrTabNum]
		--	AND personal_registration.LastName = personal.LastName
			--AND personal_registration.FirstName = personal.FirstName
		--	AND personal_registration.PatrName = personal.PatrName
		--INNER JOIN report_send230Fail ON incidents.spsID = report_send230Fail.spsID
		--INNER JOIN personal_notAllowedReport_roads ON report_send230Fail.RoadID = personal_notAllowedReport_roads.RoadID
	WHERE incidents.MIPersID > 1
	and asutNbd_violations.ViolationDate >'2019-07-07 00:00:00.000'
		and personal.CurrEnterpriseID is not null
	and personal.[CurrTabNum] is not null



как мне сделать , чтобы при выполнении запрос, если в возвращаемой таблицы появляются дубли, чтобы он их тут же удалял?
...
Рейтинг: 0 / 0
как удалять дубли при выполнение sql запроса
    #39929778
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
distinct / group by / оконные функции
...
Рейтинг: 0 / 0
как удалять дубли при выполнение sql запроса
    #39930061
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сначала надо определить, что такое дубль. Дубль чего ? Декартово размножение записей ?
...
Рейтинг: 0 / 0
как удалять дубли при выполнение sql запроса
    #39930163
Kontox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Декартово размножение записей . но используя distinct разобрался.:)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / как удалять дубли при выполнение sql запроса
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]