IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Filtrer en fonction du jour et de l'etat


Sujet :

Langage SQL

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2017
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Filtrer en fonction du jour et de l'etat
    Bonjour,

    Je ne sais pas trop comment l'expliquer correctement bloque sur une vue ou je veux afficher des données qui ne se trouve pas en clé secondaire dans une autre table à la date d'aujourd'hui

    Par exemple le 28 j'ai une donnée je l'enregistre alors et je veux qu'il disparaît de ma liste. Le 29 il revient et disparaît de nouveau si on l'enregistre

    Ce que j'ai pour l'instant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    CREATE 
        ALGORITHM = UNDEFINED 
        DEFINER = `remote`@`%` 
        SQL SECURITY DEFINER
    VIEW `lots_dispo` AS
        SELECT DISTINCT
            `l`.`lot_id` AS `lot_id`,
            `l`.`lot_date` AS `lot_date`,
            `l`.`lot_cachet` AS `lot_cachet`,
            `l`.`lot_nb` AS `lot_nb`,
            `l`.`lot_canal_id` AS `lot_canal_id`,
            `l`.`lot_thc_id` AS `lot_thc_id`,
            `l`.`lot_created` AS `lot_created`,
            `l`.`lot_is_deleted` AS `lot_is_deleted`,
            `l`.`lot_user_deleted` AS `lot_user_deleted`,
            `l`.`lot_deleted` AS `lot_deleted`
        FROM
            (`lots` `l`
            LEFT JOIN `lots_traitements` `lt` ON ((`l`.`lot_id` = `lt`.`lt_lot_id`)))
        WHERE
            ((((SELECT MAX(`lt`.`lt_created`) where `l`.`lot_id` = `lt`.`lt_lot_id`) <> CAST(NOW() AS DATE))
                AND (`lt`.`lt_close` = 0))
                OR ISNULL(`lt`.`lt_lot_id`))
    Si vous avez une solution je suis preneur

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 766
    Points : 52 563
    Points
    52 563
    Billets dans le blog
    5
    Par défaut
    Quel chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    CREATE VIEW lots_dispo 
    AS
    SELECT DISTINCT
            l.lot_id AS lot_id,
            l.lot_date AS lot_date,
            l.lot_cachet AS lot_cachet,
            l.lot_nb AS lot_nb,
            l.lot_canal_id AS lot_canal_id,
            l.lot_thc_id AS lot_thc_id,
            l.lot_created AS lot_created,
            l.lot_is_deleted AS lot_is_deleted,
            l.lot_user_deleted AS lot_user_deleted,
            l.lot_deleted AS lot_deleted
    FROM    lots AS l
    WHERE   NOT EXISTS(SELECT * 
                       FROM   lots_traitements AS lt 
                       WHERE l.lot_id = lt.lt_lot_id AND 
                              lt.lt_created <> NOW() AND 
                              lt.lt_close <> 0)
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2017
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Non ça ne marche pas car dans la liste j'ai encore ceux qui sont créé aujourd'hui qu'il soit validé ou non

  4. #4
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    Essayez avec lt.lt_created = NOW() AND dans la sous-requête corrélée, car elle est en NOT EXISTS.

Discussions similaires

  1. DateTime filtrer en fonction du jour
    Par Invité dans le forum C#
    Réponses: 0
    Dernier message: 08/07/2013, 10h56
  2. Réponses: 6
    Dernier message: 03/04/2007, 17h19
  3. Réponses: 8
    Dernier message: 14/02/2007, 10h37
  4. Requete nb d'inscrit en fonction du jour
    Par Alain15 dans le forum Requêtes
    Réponses: 1
    Dernier message: 26/06/2006, 09h25
  5. Comment utiliser la fonction NBR.JOURS.OUVRES?
    Par MEHCOOPER dans le forum Access
    Réponses: 9
    Dernier message: 20/10/2005, 12h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo