我有两个具有以下架构的表
表1 -
id, Serial Code, Hours
xxxx-aa, 1
xxxx-bb, 2
yyyy-aa, 1
表2 -
Stage , Description
aa, foo
bb, bar
现在我的加入是这样的。
SELECT x.*, y.Description
FROM table1 x LEFT JOIN
table2 y
ON MID(serial, 6, 2) = y.stage
这给了我渴望的结果。但是,它只是可读的。我知道如果我将表1中的外键分开,那么我可以创建一个可写查询,因此加入条件是
SELECT x.*, y.Description
FROM table1 x LEFT JOIN
table2 y
ON x.stage = y.stage
但有没有更好的方法来创建一个可写的查询而没有.. un-normalize ..表1?
感谢。
答案 0 :(得分:1)
一种方法是在表1中创建一个名为[stage]的计算列,并将其定义为MID(serial,6,2)。当您填写表格时,此列会自动填充,并允许您简单地查询它,就好像您未正常化"表1。