ID非公開

2021/4/22 11:29

22回答

SQLを使って二つのテーブルを時間で紐づけたテーブルを作りたいです。

補足

アクセスで表示できるようになったのですが、他のDBでも使用したく、SQLで表示できる方は教えていただけないでしょうか?

SQL Server | Microsoft Access39閲覧xmlns="http://www.w3.org/2000/svg">500

ベストアンサー

0
画像

ThanksImg質問者からのお礼コメント

作成することができました。SQLでも表現できるか検討していきます。回答ありがとうございました。

お礼日時:4/29 16:36

その他の回答(1件)

0

--A1すべての SQLServer に対応するSQL select t1.物,t2.人,t1.場所 from [dbo].[テーブル1] t1,[dbo].[テーブル2] t2 where t1.場所=t2.場所 and ( --2 A (t2.IN時間 = t1.IN時間 and t2.out時間=t1.out時間 ) --3 B or (t2.IN時間 <=t1.IN時間 and datediff(minute,t2.IN時間, t1.OUT時間)>=1) --4 C or (t1.out時間 <=t2.out時間 and datediff(minute,t1.IN時間, t2.OUT時間)>=1) --5 D or (t1.in時間 <= t2.IN時間 and t2.out時間 <=t1.OUT時間 and datediff(minute,t2.IN時間, t2.OUT時間)>=1) --6 E or (t2.in時間 <= t1.IN時間 and t1.out時間 <=t2.OUT時間 and datediff(minute,t1.IN時間, t1.OUT時間)>=1) ); -- A2 同値となる簡潔なSQL select t1.物,t2.人,t1.場所 from [dbo].[テーブル1] t1,[dbo].[テーブル2] t2 where t1.場所=t2.場所 and datediff(minute,iif (t2.IN時間 >= t1.IN時間, t2.IN時間 , t1.IN時間), IIF(t2.out時間 <= t1.out時間,t2.out時間 , t1.out時間))>=1 /* -- A3 同値となるazure SQL Database でのみ実行可能なSQL select t1.物,t2.人,t1.場所 from [dbo].[テーブル1] t1,[dbo].[テーブル2] t2 where t1.場所=t2.場所 and datediff(minute,GREATEST (t2.IN時間 , t1.IN時間), LEAST(t2.out時間 , t1.out時間))>=1) */