2017-06-08 3 views
0

Ce que je voudrais accomplir est de mettre à jour cette requête pour être capable de tirer automatiquement le jour courant comme la fonction getdate peut-être, afin que la date ne doive pas être mise à jour manuellement du quotidien.Ajouter des valeurs de date et d'heure? Comment faire pour interroger les résultats d'une requête dans une autre requête

use n 

select id, type, name, log_time , start_time , documents_created , pages_created, processed, processed_time  
from N_LF_OCR_LOG 
where 
--name like 'C-INV00410249%' -- CI11667474 (6).pdf' 
log_time between  '2017-3-07 00:00:00.000' and '2017-3-07 23:59:00.000'   
and documents_created <> 0 
or  (documents_created is null and log_time between '2017-3-07 00:00:00.000' and '2017-3-07 23:59:00.000' ) 
order by log_time 

Ensuite, à partir des résultats exécutés, je voudrais une autre requête pour interroger ces résultats pour montrer quand: Tous les résultats de la colonne TYPE> nommé « email ocr dans le type & production universelle » où le « documents_created & pages_created 'ne correspondent pas. (Voir photo ci-dessous)

enter image description here

également le rapport si le fichier suivant les lignes de NULL est manquant ou moins de 7 fichiers.

+0

Veuillez corriger la mise en forme de votre requête. –

+0

J'ai pris les espaces. Il devrait être mis à jour maintenant. =) – Jenesis

Répondre

0

Voici un bon moyen de créer un scénario de test lorsque vous publiez sur SO. Link to your SQL query J'ai modifié votre logique ET/OU booléenne à ce que je crois que vous essayiez d'accomplir et ajouté des commentaires.

Ajout de la date actuelle aux filtres se fait par les expressions:

  • minuit d'aujourd'hui est créé en convertissant getdate() à une date qui tombe la partie du temps

    CONVERT (date, getdate())

  • 11:59 PM aujourd'hui est un peu plus complexe, mais la conversion essentiellement un datetime à la représentation du flotteur, laissant tomber la partie de temps et en ajoutant le temps spécifique de '23: 59' revenir

    CONVERT (datetime, sol (CONVERT (flotteur, getdate()))) + '23: 59: 00'

Partie 2, je ne crois pas que vous devez créer une autre requête sur haut des résultats pour obtenir ce que vous cherchez. Vous pouvez simplement ajouter les conditions supplémentaires et vous serez en mesure de filtrer les types que vous voulez avec les filtres créés.

Si vous souhaitez interroger vos résultats encore, vous devez créer une clause WITH et vous pouvez effectuer la « seconde » requête comme ceci:

-- first query 
WITH my_subquery as (
    SELECT 1 as num 
    FROM tbl) 

-- second query 
SELECT max(num) 
FROM my_subquery 

EDIT Comme demandé, here est un lien vers la première requête (sans filtre de type et filtre créé par page) et here est un lien vers la deuxième requête (avec filtre de type et filtre de page créé).

+0

Merci! Avec la deuxième partie. Je voudrais tirer le 'email ocr dans le type et la production universelle' documents_created & pages_created ' "pièce jointe' Lignes lorsque les documents_created & pages_created 'ne correspondent pas. Dans un rapport séparé. Parce que le serait en cours d'exécution – Jenesis

+0

Je ne suis pas sûr de ce que vous liez est pour. Supprimez également le "use N" en haut de votre requête car vous ne pouvez pas dire à l'éditeur sql en ligne d'utiliser une base de données spécifique pour exécuter la requête. – Daniel

+0

Le lien dans le message contient la requête que vous demandez pour la partie 2. – Daniel