Select 2 table 中的所有 table 具有空值
Select all table in 2 table with null value
我在 SQL 服务器 2005 中有 2 个 Table:
首先table:
Tanggal
2015/01/01
2015/01/02
2015/01/03
2015/01/04
2015/01/05
2015/01/06
第二个Table:
Tanggal Jam_Masuk Jam_Pulang. Id_user
2015/01/01 08:00:00 17:00:00 00600320
2015/01/03 08:00:00 17:00:00 00600320
2015/01/05 08:00:00 17:00:00 00600320
2015/01/06 08:00:00 17:00:00 00600320
我想要 select 这样的 :
Tanggal Jam_Masuk Jam_Pulang Total Status Id_user
2015/01/01 08:00:00 17:00:00 09:00:00 OK 00600320
2015/01/02 --:--:-- --:--:-- --:--:-- ALPHA/IZIN 00600320
2015/01/03 08:00:00 17:00:00 09:00:00 OK 00600320
2015/01/04 --:--:-- --:-- :-- --:--:-- ALPHA/IZIN 00600320
2015/01/05 08:00:00 17:00:00 09:00:00 OK 00600320
2015/01/06 08:00:00 17:00:00 09:00:00 OK 00600320
注意:字段总计 (hh:mm:ss)= Jam_Pulang - Jam_Masuk
先致谢
LEFT JOIN
两张表,Status使用CASE
语句,合计使用DATEDIFF
函数。还使用 CONVERT
日期戳 Tanggal
和样式 111
作为您预期的 YYYY/MM/DD
.
输出
SELECT CONVERT(VARCHAR(50),a.Tanggal,111) AS Tanggal,
b.Jam_Masuk,
b.Jam_Pulang,
DATEDIFF(hour, Jam_Masuk, Jam_Pulang) AS Total,
b.Id_user,
CASE WHEN b.Id_user IS NOT NULL THEN 'OK' ELSE NULL END AS Status
FROM tab1 a
LEFT JOIN tab12 b ON a.Tanggal = b.Tanggal
输出
Tanggal Jam_Masuk Jam_Pulang Total Id_user Status
2015/01/01 08:00:00 17:00:00 9 600320 OK
2015/01/02 (null) (null) (null) (null) (null)
2015/01/03 08:00:00 17:00:00 9 600320 OK
2015/01/04 (null) (null) (null) (null) (null)
2015/01/05 08:00:00 17:00:00 9 600320 OK
2015/01/06 08:00:00 17:00:00 9 600320 OK
我在 SQL 服务器 2005 中有 2 个 Table:
首先table:
Tanggal
2015/01/01
2015/01/02
2015/01/03
2015/01/04
2015/01/05
2015/01/06
第二个Table:
Tanggal Jam_Masuk Jam_Pulang. Id_user
2015/01/01 08:00:00 17:00:00 00600320
2015/01/03 08:00:00 17:00:00 00600320
2015/01/05 08:00:00 17:00:00 00600320
2015/01/06 08:00:00 17:00:00 00600320
我想要 select 这样的 :
Tanggal Jam_Masuk Jam_Pulang Total Status Id_user
2015/01/01 08:00:00 17:00:00 09:00:00 OK 00600320
2015/01/02 --:--:-- --:--:-- --:--:-- ALPHA/IZIN 00600320
2015/01/03 08:00:00 17:00:00 09:00:00 OK 00600320
2015/01/04 --:--:-- --:-- :-- --:--:-- ALPHA/IZIN 00600320
2015/01/05 08:00:00 17:00:00 09:00:00 OK 00600320
2015/01/06 08:00:00 17:00:00 09:00:00 OK 00600320
注意:字段总计 (hh:mm:ss)= Jam_Pulang - Jam_Masuk
先致谢
LEFT JOIN
两张表,Status使用CASE
语句,合计使用DATEDIFF
函数。还使用 CONVERT
日期戳 Tanggal
和样式 111
作为您预期的 YYYY/MM/DD
.
SELECT CONVERT(VARCHAR(50),a.Tanggal,111) AS Tanggal,
b.Jam_Masuk,
b.Jam_Pulang,
DATEDIFF(hour, Jam_Masuk, Jam_Pulang) AS Total,
b.Id_user,
CASE WHEN b.Id_user IS NOT NULL THEN 'OK' ELSE NULL END AS Status
FROM tab1 a
LEFT JOIN tab12 b ON a.Tanggal = b.Tanggal
输出
Tanggal Jam_Masuk Jam_Pulang Total Id_user Status
2015/01/01 08:00:00 17:00:00 9 600320 OK
2015/01/02 (null) (null) (null) (null) (null)
2015/01/03 08:00:00 17:00:00 9 600320 OK
2015/01/04 (null) (null) (null) (null) (null)
2015/01/05 08:00:00 17:00:00 9 600320 OK
2015/01/06 08:00:00 17:00:00 9 600320 OK