0

列クライアント コードを含むテーブルがあります。

99990000 と 99999999 の範囲のコードがあります。

この範囲( 99990000 -99999999 )の間のすべての数値が必要です

クライアントコードに割り当てられていないもの。

このクエリで私を助けてください。

4

3 に答える 3

0

私が質問を理解したように、これはクエリになります:

SELECT * FROM Table WHERE ClientCode BETWEEN 99990000 AND -99999999
于 2012-09-06T11:55:29.250 に答える
0

可能なアカウントの完全なリストを生成し、使用中のアカウントを除外する必要があります。

/*DECLARE VARIABLES FOR START AND END RANGE*/
DECLARE @StartAccount   AS  INT
DECLARE @EndAccount     AS  INT
SET     @StartAccount   =   99990000
SET     @EndAccount     =   99999999
;
--Generate a list of numbers to check against:..Thanks to Anthony Horne for this
   WITH Nbrs_4( n ) AS ( SELECT 1 UNION SELECT 0 ),
Nbrs_3( n ) AS ( SELECT 1 FROM Nbrs_4 n1 CROSS JOIN Nbrs_4 n2 ),
Nbrs_2( n ) AS ( SELECT 1 FROM Nbrs_3 n1 CROSS JOIN Nbrs_3 n2 ),
Nbrs_1( n ) AS ( SELECT 1 FROM Nbrs_2 n1 CROSS JOIN Nbrs_2 n2 ),
Nbrs_0( n ) AS ( SELECT 1 FROM Nbrs_1 n1 CROSS JOIN Nbrs_1 n2 ),
Nbrs  ( n ) AS ( SELECT 1 FROM Nbrs_0 n1 CROSS JOIN Nbrs_0 n2 )

SELECT n
FROM ( SELECT ROW_NUMBER() OVER (ORDER BY n)
FROM Nbrs ) D ( n )
WHERE n >= @StartAccount 
 AND n <= @EndAccount 
 AND n NOT IN 
(SELECT ClientCode FROM CustomerTable)  --Exclude Accounts that are in use
于 2012-09-06T14:58:46.307 に答える
0

間の範囲のみを選択したい場合99990000 AND 99999999

SELECT * FROM 
myTable 
WHERE ClientCode BETWEEN (99990000 AND 99999999)

間の除外範囲を選択したい場合99990000 AND 99999999

SELECT * FROM 
myTable 
WHERE ClientCode NOT BETWEEN (99990000 AND 99999999)
于 2012-09-06T11:53:50.740 に答える