我有一个数据库,当前包含两个表,第一个表名为" tblUser"包含有关各个用户的详细信息,第二个表名为" tblTime"包含将由每个用户输入的实际数据。
这些表包含一个名为" UserLogin"的列。和"运算符",当数据输入到tblTime时,运算符字段将等于UserLogin字段中的值。
然后我希望根据tblUser中ContactedHours字段的值在tbltime内设置ContractedHours字段。
tblUser
ID UserLogin ContractedHours
1 Ollie 8:00
2 Ryan 6:00
tblTime
ID Operator ContactedHours
1 Ollie x
2 Ryan y
3 Ollie x
我已经展示了上表的示例。当此表正在进行时,tblTime的ID将是连续的,因此我无法链接这两个ID。
答案 0 :(得分:0)
您不需要在两个表格中复制数据。尝试将时间表映射到用户表,而不是此方法:
tblUser
UserID UserName
1 Ollie
2 Ryan
tblTime
ID UserID ContractedHours
1 1 x
2 2 y
3 3 x
此方法可确保您不会有任何重复的值,并且tblTime将使用ID字段作为其键,因此您可以根据需要拥有尽可能多的UserID实例。
答案 1 :(得分:0)
我通过数据库的许多重新设计解决了这个问题,一种方法是将数据库中的字段设置为:
SELECT t.ContractedHours
FROM tblUser AS t
WHERE t.UserLogin = Operator;
到目前为止,最有效的方法是创建一个UserID
字段,它是一个字母数字值,该值将始终等于另一个表的operator字段中的值。我在两个字段之间创建了一个关系,并允许ContractedHours
字段自动填充。