0

1 つのテーブルに 2 つのテーブルがあり、列違反の日付があり、別のテーブルには NTO 日付列があります。NTOdate が 50 日を超える違反日付のテーブルからデータを取得する方法を見つけたいと考えています。しかし、このクエリを実行すると、「50」近くの構文が正しくないというエラーが表示されます。

SELECT [ICPS].[dbo].[tickets].t_vrm
  ,[ICPS].[dbo].[tickets].t_zone_name
  ,[ICPS].[dbo].[tickets].t_street_name
FROM [ICPS].[dbo].[tickets]
INNER JOIN [ICPS].[dbo].[ticket_events]
  ON [ICPS].[dbo].[ticket_events].[te_system_ref] = [ICPS].[dbo].[tickets].[t_number]
WHERE [ICPS].[dbo].[tickets].[t_camera_ticket] = '0'
  AND [ICPS].[dbo].[tickets].[t_date_time_issued] >= convert(DATETIME, '2012/10/01', 101)
  AND [ICPS].[dbo].[ticket_events].[te_event_code] = '300'
  AND [ICPS].[dbo].[ticket_events].[te_date] > DATE (DATE_SUB([ICPS].[dbo].[tickets].[t_date_time_issued], INTERVAL 50 days))
4

1 に答える 1

0

Datediff 関数を使用できます: DateDiff(DD,'firstDate','SecondDate')。サンプルは次のとおりです。

select [ICPS].[dbo].[tickets].t_vrm,[ICPS].[dbo].[tickets] .t_zone_name, [ICPS].[dbo].[tickets] .t_street_name from  [ICPS].[dbo].[tickets]  inner join 
      [ICPS].[dbo].[ticket_events] on [ICPS].[dbo].[ticket_events].[te_system_ref] = [ICPS].[dbo].[tickets].[t_number] 
where[ICPS].[dbo].[tickets].[t_camera_ticket] = '0' and  [ICPS].[dbo].[tickets].[t_date_time_issued] >= convert(datetime,'2012/10/01',101)
      and [ICPS].[dbo].[ticket_events].[te_event_code] = '300' and 
     DateDiff(DD, [ICPS].[dbo].[tickets].[t_date_time_issued], [ICPS].[dbo].[ticket_events].[te_date]) >50)
于 2013-07-29T14:58:50.133 に答える