Répondre à la discussion
Affichage des résultats 1 à 13 sur 13

comment mon query atteint ma sélection dans toutes les tables



  1. #1
    benz_mscp31

    comment mon query atteint ma sélection dans toutes les tables


    ------

    Bonjour à tous,

    je suis orienté vers vous pour m'aider sur un script que je suis en train de le monter.

    en résumé:

    je voulais faire une sélection bien précise dans une colonne dans le temps souhaité;
    voir le query :

    SELECT

    [Time]
    ,[TagName]
    ,[LoggingNode]
    ,[AlarmType]
    ,[Priority]
    ,[Limit]
    ,[LimitString]
    ,[AlarmValue]
    ,[ValueString]
    ,[OriginationTimeFracSec]
    ,[OriginationTimeZoneOffset]
    ,[OriginationDaylightAdjustment]
    FROM [WWALMDB].[dbo].[AlarmMaster]
    where TIME between '2019-06-20 00:00:00' and '2019-06-20 23:59:59'
    and TagName like '%.pi%'
    ORDER BY Time ASC;

    Mon query est bien fonctionnel sauf qu'il me donne pas toutes ma sélection rechercher parce qu'elle est existé dans autres tables ; et moi j'ai précisé que la table où je le connais ‘FROM [WWALMDB].[dbo].[AlarmMaster]’
    comment je puisse atteindre ma sélection dans toutes les tables .

    Merci pour votre retour
    Othmane

    -----

  2. Publicité
  3. #2
    umfred

    Re : comment mon query atteint ma sélection dans toutes les tables

    une réponse rapide c'est qu'il faut faire une jointure des tables (les tables doivent avoir des liaisons entre elles, des champs qui sont liés entre eux) mot clé JOIN (et ses variantes).
    Si ce sont des tables indépendantes, tu devrais, je pense, répéter l'opération sur chacune d'entre elles (si tu veux récupérer tous les champs des tables, utilises * (SELECT * FROM [table]..)
    Dernière modification par JPL ; 16/09/2020 à 18h33. Motif: Titre corrigé

  4. #3
    Ikhar84
    Animateur Informatique

    Re : comment mon query atteint ma sélection dans toutes les tables

    @Umfred: pourquoi parler de jointure alors que le FROM ne s'applique qu'à une seule table, la table AlarmMaster ?
    @benz_mscp31: c'est quoi tout tes crochets [...] ???
    Tu sais que le crochet, en tout cas sous SQL Server (ton server actuel) reprŕsente un "interval" ?
    Accessoirement, personnellement je ne comprends absolument rien à ta question ?

    Ta requête est bien fonctionnelle (comment tu le sais, ça veut dire quoi fonctionnelle) mais elle ne donne pas le résultat souhaité ?
    Quel résultat donne-t'elle ?

    Telle quelle est là, elle doit plutôt donner un paquet d'erreurs...
    Donnes les (après avoir retiré tous les crochets de ton code...)...
    As tu lu la doc de Wonderware ?

    Tentes sur un moteur de recherche :
    Alarm DB Logger Object for Wonderware Application Server
    Edit:
    @Umfred: oui je viens de voir ça et comprends mieux ta réponse:
    QUOTE=benz_mscp31;6648823]

    Mon query est bien fonctionnel sauf qu'il me donne pas toutes ma sélection rechercher parce qu'elle est existé dans autres tables ;
    [...]
    comment je puisse atteindre ma sélection dans toutes les tables .

    Merci pour votre retour
    Othmane[/QUOTE]
    Dernière modification par JPL ; 16/09/2020 à 18h33. Motif: Titre corrigé
    J'ai glissé Chef !

  5. #4
    benz_mscp31

    Re : comment mon query atteint ma sélection dans toutes les tables

    Citation Envoyé par Ikhar84 Voir le message
    @Umfred: pourquoi parler de jointure alors que le FROM ne s'applique qu'à une seule table, la table AlarmMaster ?
    @benz_mscp31: c'est quoi tout tes crochets [...] ???
    Tu sais que le crochet, en tout cas sous SQL Server (ton server actuel) reprŕsente un "interval" ?
    Accessoirement, personnellement je ne comprends absolument rien à ta question ?

    Ta requête est bien fonctionnelle (comment tu le sais, ça veut dire quoi fonctionnelle) mais elle ne donne pas le résultat souhaité ?
    Quel résultat donne-t'elle ?

    Telle quelle est là, elle doit plutôt donner un paquet d'erreurs...
    Donnes les (après avoir retiré tous les crochets de ton code...)...
    As tu lu la doc de Wonderware ?

    Tentes sur un moteur de recherche :


    Edit:
    @Umfred: oui je viens de voir ça et comprends mieux ta réponse:
    QUOTE=benz_mscp31;6648823]

    Mon query est bien fonctionnel sauf qu'il me donne pas toutes ma sélection rechercher parce qu'elle est existé dans autres tables ;
    [...]
    comment je puisse atteindre ma sélection dans toutes les tables .

    Merci pour votre retour
    Othmane
    [/QUOTE]

    @Umfred:je pense que tu parle sur la fonction INNER JOIN, le problème que j'ai pas pu reconnaître le nom table qui ont une colonne portant 'tagname'.
    @Ikhar84: oui je suis sur le wonderware,
    j'ai obtenue une partie tagname c'est pas tous parce que je pense que la partie restante elle est dans d'autres tables.
    voir en dessous le lien de résultat:
    Sans titre.jpg

    Merci pour vos interventions

  6. A voir en vidéo sur Futura
  7. #5
    Ikhar84
    Animateur Informatique

    Re : comment mon query atteint ma sélection dans toutes les tables

    Tu cherches à recupérer des champs (les colonnes spécifiées) avec un critère (intervalle) sur le champ TIME ET tu imposes que le champ TAGNAME contienne la chaîne de caractère .pi (caractère joker % avant et après la chaîne). Tu es sûr que tu veux filtrer sur cette colonne ?

    Ne t'étonnes donc pas que tu ne récupères pas toutes les lignes qui correspondent à ton premier critère (l'intervalle temporelle) !

    Testes sans la partie :
    Code:
    and TagName like '%.pi%'
    (Tu recherches une extension de fichier ?)
    J'ai glissé Chef !

  8. #6
    Fustigator

    Re : comment mon query atteint ma sélection dans toutes les tables

    Citation Envoyé par umfred Voir le message
    une réponse rapide c'est qu'il faut faire une jointure des tables (les tables doivent avoir des liaisons entre elles, des champs qui sont liés entre eux) mot clé JOIN (et ses variantes).
    Si ce sont des tables indépendantes, tu devrais, je pense, répéter l'opération sur chacune d'entre elles (si tu veux récupérer tous les champs des tables, utilises * (SELECT * FROM [table]..)
    Tu connais le MPD de sa base ? Non. Alors c'est du nawak complet.

  9. Publicité
  10. #7
    Fustigator

    Re : comment mon query atteint ma sélection dans toutes les tables

    Bonjour

    Visiblement tu es sous Sql Server (l'utilisation du schéma par défaut dbo est assez caractéristique d'un design de model sous Sql Server fait avec les pieds par un nullos).
    Alors, il faut savoir que avec T-Sql, la case-sensitivity de l'opérateur "like" dépend de la "collating sequence" de la base; ce qui fait qu'il est possible que ton test
    Code:
    TagName like '%.pi%'
    ne détecte pas un truc du type "X.PIX".
    Donc déjà test avec
    Code:
    lower(TagName) like '%.pi%'
    Dernière modification par Fustigator ; 16/09/2020 à 21h48.

  11. #8
    Fustigator

    Re : comment mon query atteint ma sélection dans toutes les tables

    Citation Envoyé par Fustigator Voir le message
    Alors, il faut savoir que avec T-Sql, la case-sensitivity de l'opérateur "like" dépend de la "collating sequence" de la base
    On peut le vérifier avec la commande suivante :
    Code:
    select databasepropertyex('WWALMDB', 'collation')
    Passe la commande et donne le résultat.

  12. #9
    benz_mscp31

    Re : comment mon query atteint ma sélection dans toutes les tables

    Citation Envoyé par Ikhar84 Voir le message
    Tu cherches à recupérer des champs (les colonnes spécifiées) avec un critère (intervalle) sur le champ TIME ET tu imposes que le champ TAGNAME
    Testes sans la partie :
    Code:
    and TagName like '%.pi%'
    (Tu recherches une extension de fichier ?)
    je ne peux pas le faire sans filtre, le filtre est mon objet.

  13. #10
    benz_mscp31

    Re : comment mon query atteint ma sélection dans toutes les tables

    Citation Envoyé par Fustigator Voir le message
    Bonjour


    Donc déjà test avec
    Code:
    lower(TagName) like '%.pi%'
    j'ai la même résultat avec la fonction lower.

    Laisser moi de reformuler ma problématique de façons ludique:
    par exemple avec la fonction de base 'select top 1000' si je force de tagname avec une valeur vrai " pi0377 et pi0379 " =1 dans le résultat j'ai que le pi0379.

    j'attend votre retour.

  14. #11
    Fustigator

    Re : comment mon query atteint ma sélection dans toutes les tables

    Citation Envoyé par benz_mscp31 Voir le message
    j
    par exemple avec la fonction de base 'select top 1000' si je force de tagname avec une valeur vrai " pi0377 et pi0379 " =1 dans le résultat j'ai que le pi0379.
    Poster la requête complète car "si je force de tagname avec une valeur vrai " pi0377 et pi0379 " =1" ca ne veut rien dire.

  15. #12
    Fustigator

    Re : comment mon query atteint ma sélection dans toutes les tables

    Citation Envoyé par benz_mscp31 Voir le message
    je ne peux pas le faire sans filtre, le filtre est mon objet.
    Il vous a demandé de faire le test; pourquoi cette réponse à coté de la plaque ?

  16. Publicité
  17. #13
    benz_mscp31

    Re : comment mon query atteint ma sélection dans toutes les tables

    Citation Envoyé par Fustigator Voir le message
    Il vous a demandé de faire le test; pourquoi cette réponse à coté de la plaque ?
    j'ai fait en raison d'éclaircissement .

    pour les crochets, j'ai enlevé et j'ai les mêmes résultats.

    je voulais savoir dans quelles tables la colonne "tagname" est utilisé ,
    D'aprés ma petite recherche j'ai trouvé ce code " voir en dessous ":
    SELECT COLUMN_NAME, TABLE_NAME
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE COLUMN_NAME LIKE '%TagName%'

    mais j'ai pas obtenue aucune résultat?
    pouvez vous m'orienter vers ce code ou d'autres.
    merci pour votre retour.

Discussions similaires

  1. SQL query to label
    Par s0ogame dans le forum Programmation et langages, Algorithmique
    Réponses: 0
    Dernier message: 01/05/2018, 18h32
  2. PHP/SQL Comment lier deux tables en une?
    Par olivier147 dans le forum Programmation et langages, Algorithmique
    Réponses: 7
    Dernier message: 20/06/2017, 08h36
  3. Comment la sonde Msl a atteint les 92 000 km/h?
    Par evrardo dans le forum Physique
    Réponses: 16
    Dernier message: 14/12/2012, 21h21
  4. Actu - Listériose : comment la bactérie atteint le fœtus
    Par RSSBot dans le forum Commentez les actus, dossiers et définitions
    Réponses: 0
    Dernier message: 30/09/2008, 10h45
  5. le premier atteint par le sida comment ?
    Par taha1 dans le forum Biologie
    Réponses: 6
    Dernier message: 13/10/2004, 16h15