所以在我的数据库中,我有这些记录,它们有一个序列号,可以把它们分开。不过,我想用另一个表连接它们,在这个表中,一个人最多可以有2个序列号与他们的帐户相关联,就像这样。
|account #|Serial#1|Serial#2|
------------------------------------------
|01234201 |P984564|P12388|
------------------------------------------
所以我的问题是,您能否在on语句中设置一个内部连接查询来比较一列和两列。如。 INNER JOIN datatable2 ON datatable1.Serial#1 OR datatabel2.Serial#2 = datatable2.serial#
2条答案
按热度按时间93ze6v8z1#
是的,应该是:
不过,我强烈建议您规范化表,这样您就不需要在where中使用or条件。
bxgwgixi2#
创建标准化的
View
对数据进行查询。这将在将来为您省去一些麻烦,并使您的查询更具可读性。https://dev.mysql.com/doc/refman/8.0/en/create-view.html 更多关于View
s。特别是与您的视图相关联的查询将是这样的:我对mysql有点生疏,但这应该会给你一个大致的要点。然后像这样询问:
如果由于数据绑定到其他系统/进程而很难正确规范化数据,那么这是一个很好的解决方法。