Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
paulmc
Starting Member
1 Post |
Posted - 2010-04-30 : 11:24:50
|
| hi all just new to this site so hopefully someone can point me in the right direction , i have a field called docket_no that has refs like below, i need a sql query tell me what dockets are missing between say 91000 and 91010 for each of the three letters K,L,M separately,if it has to be 3 separate queries that doesn’t matter ,any ideasK091000K091001K091002K091003K091005K091007K091009K091010L091001L091002L091005L091006L091010M091000M091001M091002M091003M091006M091007M091008M091009M091010 |
|
|
malpashaa
Constraint Violating Yak Guru
264 Posts |
Posted - 2010-04-30 : 13:09:43
|
Try something like this:DECLARE @SomeTable TABLE( docket_no VARCHAR(8) NOT NULL);INSERT INTO @SomeTable(docket_no) SELECT 'K0910000' UNION ALL SELECT 'K0910001' UNION ALL SELECT 'K0910002' UNION ALL SELECT 'K0910003' UNION ALL SELECT 'K0910005' UNION ALL SELECT 'K0910007' UNION ALL SELECT 'K0910009' UNION ALL SELECT 'K0910010' UNION ALL SELECT 'L0910001' UNION ALL SELECT 'L0910002' UNION ALL SELECT 'L0910005' UNION ALL SELECT 'L0910006' UNION ALL SELECT 'L0910010' UNION ALL SELECT 'M0910001' UNION ALL SELECT 'M0910002' UNION ALL SELECT 'M0910003' UNION ALL SELECT 'M0910006' UNION ALL SELECT 'M0910007' UNION ALL SELECT 'M0910008' UNION ALL SELECT 'M0910009' UNION ALL SELECT 'M0910010';WITH CTE1(docket_char) AS( SELECT 'K' UNION ALL SELECT 'L' UNION ALL SELECT 'M'), CTE2(docket_number) AS( SELECT '0910000' UNION ALL SELECT '0910001' UNION ALL SELECT '0910002' UNION ALL SELECT '0910003' UNION ALL SELECT '0910004' UNION ALL SELECT '0910005' UNION ALL SELECT '0910006' UNION ALL SELECT '0910007' UNION ALL SELECT '0910008' UNION ALL SELECT '0910009' UNION ALL SELECT '0910010')SELECT T2.docket_no FROM CTE1 AS T1 CROSS APPLY (SELECT T1.docket_char + T2.docket_number AS docket_no FROM CTE2 AS T2) AS T2 WHERE NOT EXISTS(SELECT * FROM @SomeTable AS T3 WHERE T3.docket_no = T2.docket_no); |
 |
|
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2010-05-01 : 00:41:21
|
| [code]SELECT m.ColFROM(SELECT t.Str+t1.Val AS ColFROM (SELECT 'K' AS Str UNION ALL SELECT 'L' UNION ALL SELECT 'M')tCROSS JOIN (SELECT '091000' AS Val UNION ALL SELECT '091001' UNION ALL ... SELECT '091010')t1)mLEFT JOIN YourTable nON n.docket_no =m.ColWHERE n.docket_no IS NULL[/code]------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/ |
 |
|
|
|
|
|