2017-07-06 1 views
0

J'utilise PHP pour accéder à une base de données de serveur SQL et j'ai 2 nombres stockés en tant que variables PHP. Par exemple une variable est 10 et l'autre variable est 15.Rechercher des lignes manquantes dans la plage de nombres dans SQL Server

J'ai besoin de produire une liste des documents « disparus » i.e. les lignes où une certaine colonne col1 ne contient pas de numéros entre 10 et 15.

Est-il possible de faire cela en SQL, c'est-à-dire quelque chose comme ... WHERE col1 NOT IN (10..15)?

Exemple:

col1 
---- 
2 
4 
6 
8 
10 
12 
14 
16 
18 
20 

Variables:

$start = 10 
$end = 15 

résultat souhaité en utilisant uniquement SQL:

result 
------ 
11 
13 
15 
+0

Avez-vous essayé? –

+0

O WH col1 <10 ou col1> 15 – S4V1N

+0

'ENTRE? https://docs.microsoft.com/en-us/sql/t-sql/language-elements/between-transact-sql – newfurniturey

Répondre

0

Si vous utilisez PHP et des variables les avez-vous définis comme des variables?

D'où obtenez-vous les variables? Par exemple, si vous soumettez un formulaire dont vous avez besoin pour produire cette information:

<form> 
<input type="text" name="search1"> 
<input type="text" name="search2"> 

... etc.

Ensuite, vous pouvez sur votre php définir cela comme:

$var1 = $_POST['search1']; 
$var2 = $_POST['search2']; 

Ensuite, dans votre déclaration MySQL (comme ci-dessus réponse travailleriez)

SELECT * FROM TABLE_NAME 
WHERE col1 NOT IN ('%".$search1."%', '%".$search2."%') 

J'espère que cela dans tous les cas. Votre question était un peu vague alors je pensais essayer de couvrir quelques bases.