我正在使用的数据库(但没有设计)有一个奇怪的结构,其中一个表的行的主键(id)包含在另一个表的行的主键内。例如,如果table1有一个id为'933'的行,table2将有一个带有一个id的行,但前缀为一个单词,例如, 'something933'。当一个表的主键与另一个表的主键不同但包含在另一个表的主键中时如何连接表?
SELECT * FROM table1, table2 WHERE table1.id = table2.id
这就是基本的查询,但由于table1.id的内容就像是“933”和table2.id就像“something933”,我需要的东西等,其中table1.id = table2.something + ID。
有什么办法可以在单个查询中连接这些表吗?
是啊,我想我会走另一条路,如果可以的话,从table2.id中除去“某些东西”。可能也可能有一个计算的指标。当我伤害到对我做过这些事情的人之后,那个过程...... – 2013-02-22 22:53:35
太棒了,迈克,谢谢。至少,这将是一个很好的临时解决方案;稍后或许我会看看改变设计的麻烦是否值得,但这只是我接手的一个小项目。 – redburn 2013-02-22 23:13:28