我有一个SQL查询我正在尝试编写,但一直没有能够拿出解决方案。SQL查询,查询同一个表两次(可能)
我的表中有2个条目是相关的,通过ID的前3个字符相关。当添加需要与某个条目相关的新项目时,会先添加前3个字符,然后将第二个2增加1以创建新ID。当需要完全分开的输入时,使用唯一的3位字符串,并用“00”开始后两个字符。可能有一些在最后2列有很大的差距,因为删除的数据(我不想在我的查询中这些)
我想要做的是只得到行的地方有另一行同前3个字符,并从最后2.
表实施例的计数少1:
ID | Date
====== ========
11100 | 07/12
22211 | 07/13
12300 | 07/14
11101 | 07/14
11400 | 07/16
22212 | 07/16
查询应仅返回这些元件,因为有exsists与相同的第一3个字符和一个更小的另一条目来自最后2个字符。
ID | Date
====== ========
11101 | 07/14
22212 | 07/16
有没有让你的ID列来构建这样的要求?如果不是,我建议你将你的ID列分成两个,CategoryID(即111,222..etc)和SeqID(即00,01..etc),它会使查询变得更容易和更快 –
我完全同意,但这是目前不在我的控制之下。我会改变这种方式,如果它是在我的力量:/ – shenn