【发布时间】:2018-02-19 14:50:48
【问题描述】:
我有以下 3 张桌子 1- 雇员为:
EmpID EmpName -------------- 100 亚当 101史密斯2- 转换为:
ShiftID ShiftName FromTime ToTinme -------------------------------------- 1 班次 1 上午 9 点 下午 2 点 2 班次 2 下午 3 点 5 点3-EmpShifts 为:
EMPID SHIFTID 日期 --------------------------------- 100 1,2 2017 年 1 月 12 日 100 2 2017 年 2 月 12 日 101 1 2017 年 1 月 12 日 101 1,2 2017 年 2 月 12 日我需要做一个 select 语句来获取数据 像这样:
EMPID EmpName Date ShiftID ShiftName ShiftTimes -------------------------------------------------- ---------------------- 100 亚当 2017 年 1 月 12 日 1 班次1 100 亚当 2017 年 1 月 12 日 2 班次2 100 亚当 2017 年 2 月 12 日 2 班次2 101 史密斯 2017 年 1 月 12 日 2 班次2 101 史密斯 02/12/2017 1 班次1 101 史密斯 2017 年 2 月 12 日 2 班次2那么如何得到它。
【问题讨论】:
-
你试过了吗?不要在表格中存储 CSV。
-
你真的称之为“复杂”吗?
-
EmpShifts.SHIFTID列有逗号分隔值吗?这不好 -
我知道,但很抱歉我无法更改当前架构
-
EmpShifts表中的SHIFTID列不遵循1NF 规则,因为该字段中没有存储原子值。您必须先规范化该表,然后您才能使用简单的连接子句来获得所需的结果。