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 :

Expression de type non booléen spécifiée dans un contexte où une condition est attendue, près de 'Order'


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Mai 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique

    Informations forums :
    Inscription : Mai 2019
    Messages : 10
    Points : 5
    Points
    5
    Par défaut Expression de type non booléen spécifiée dans un contexte où une condition est attendue, près de 'Order'
    Bonjour a tous.

    J’exécute une requête en SQL, et cela fonctionne.

    Quand je la mets dans mon outil de reporting, j'ai ce message d'erreur :

    "Expression de type non booléen spécifiée dans un contexte où une condition est attendue, près de 'Order'"

    Pourtant dans la requête je ne fais pas d'order by

    Voici la requête :

    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
    Select AM_ASSET.ASSET_TAG AS "Code matériel", AM_ASSET.SERIAL_NUMBER AS "N° de série", AM_UN_CLASSIFICATION.UN_CLASSIFICATION_FR AS "Catégorie",
     AM_CATALOG.ARTICLE_MODEL AS "Modèle", AM_MANUFACTURER.MANUFACTURER AS "Marque", AM_STATUS.STATUS_FR AS "Statut",
     AM_EMPLOYEE.LAST_NAME AS "Utilisateur principal", AM_ASSET.NETWORK_IDENTIFIER AS "Identifiant réseau", AM_catalog.AVAILABLE_FIELD_5 AS "Modele de remplacement", AM_catalog.AVAILABLE_FIELD_6 AS "Statut de retour",
     AM_MAIN_USAGE.REFERENCE_FR AS "Emploi principal", AM_LOCATION.AVAILABLE_FIELD_1 AS "Type de site", 
    lpth.location_path_fr as "Localisation complète", Dpth.department_path_fr as "Entité complète"
     From
     AM_ASSET INNER JOIN AM_CATALOG
     ON AM_ASSET.CATALOG_ID = AM_CATALOG.CATALOG_ID
    INNER JOIN AM_LOCATION_PATH LPTH ON LPTH.LOCATION_ID = AM_asset.LOCATION_ID 
    INNER JOIN AM_DEPARTMENT_PATH DPTH ON DPTH.DEPARTMENT_ID = AM_asset.DEPARTMENT_ID
    INNER JOIN AM_UN_CLASSIFICATION ON AM_CATALOG.UN_CLASSIFICATION_ID = AM_UN_CLASSIFICATION.UN_CLASSIFICATION_ID INNER JOIN AM_REFERENCE ON 
    AM_UN_CLASSIFICATION.ARTICLE_TYPE_ID = AM_REFERENCE.REFERENCE_ID LEFT OUTER JOIN AM_EMPLOYEE ON 
    AM_ASSET.EMPLOYEE_ID = AM_EMPLOYEE.EMPLOYEE_ID LEFT OUTER JOIN AM_LOCATION ON 
    AM_ASSET.LOCATION_ID = AM_LOCATION.LOCATION_ID LEFT OUTER JOIN AM_DEPARTMENT ON 
    AM_ASSET.DEPARTMENT_ID = AM_DEPARTMENT.DEPARTMENT_ID LEFT OUTER JOIN AM_MANUFACTURER ON
     AM_CATALOG.MANUFACTURER_ID = AM_MANUFACTURER.MANUFACTURER_ID LEFT OUTER JOIN AM_STATUS ON 
    AM_ASSET.STATUS_ID = AM_STATUS.STATUS_ID LEFT OUTER JOIN V_MAIN_USAGE AM_MAIN_USAGE ON
     AM_ASSET.MAIN_USAGE_ID = AM_MAIN_USAGE.REFERENCE_ID
    where status_fr = 'En service' and (AM_UN_CLASSIFICATION.UN_CLASSIFICATION_id = '150' or AM_UN_CLASSIFICATION.UN_CLASSIFICATION_id = '168' or aM_UN_CLASSIFICATION.UN_CLASSIFICATION_id = 169) and am_location.available_field_1 like 'Point%'
    Merci beaucoup de votre aide

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Points : 1 199
    Points
    1 199
    Par défaut
    Bonjour,
    Il y a un critère bizarre sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    and (AM_UN_CLASSIFICATION.UN_CLASSIFICATION_id = '150' or AM_UN_CLASSIFICATION.UN_CLASSIFICATION_id = '168' or aM_UN_CLASSIFICATION.UN_CLASSIFICATION_id = 169)
    Tu semble considérer tantot que UN_CLASSIFICATION_id est une chaine, 150 est entre quote, tantot que c'est un entier 169 n'est pas entre quote, mais je ne vois pas pourquoi cela générerait le message d'erreur que tu obtiens, dans tous les cas tu peux remplacer le tout par un in.
    Si on considère que UN_CLASSIFICATION_id est un entier, cela donnerait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    and AM_UN_CLASSIFICATION.UN_CLASSIFICATION_id in(150,168,169)
    Cordialement
    Soazig

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Mai 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique

    Informations forums :
    Inscription : Mai 2019
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Malgré les modifications comme évoquées, le souci reste le même ;-(

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 761
    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 761
    Points : 52 547
    Points
    52 547
    Billets dans le blog
    5
    Par défaut
    Vous n'avez pas de ORDER dans votre requête... mais je pense que vous avez des vues, je parierais sur V_MAIN_USAGE... Si vous alliez regarde le code de cette vue ?

    A +
    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/ * * * * *

  5. #5
    Membre expérimenté
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 730
    Points : 1 416
    Points
    1 416
    Par défaut
    Sans relation avec la demande du post.

    Faire une clause Where sur une table "externe" revient à faire une jointure "interne".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     [...] FROM [...] LEFT OUTER JOIN am_location ON am_asset.location_id = am_location.location_id
    [...] WHERE [...] AND am_location.available_field_1 LIKE 'Point%'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT [...] am_status.status_fr  
    [...] FROM [...] LEFT OUTER JOIN am_status ON am_asset.status_id = am_status.status_id
    [...] WHERE status_fr = 'En service' [...]
    Le savoir est une nourriture qui exige des efforts.

Discussions similaires

  1. Réponses: 21
    Dernier message: 26/04/2019, 22h59
  2. recupérer une valeur type text pour envoyer dans un formulaire d'une autre page
    Par armando1987 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 13/01/2017, 14h45
  3. CASE DATEPART Erreur non booleén spécifiée
    Par EuUud dans le forum Développement
    Réponses: 4
    Dernier message: 12/08/2015, 17h21
  4. Mettre type de données monetaire dans le champ d'une requete
    Par emirov dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 02/05/2008, 14h53
  5. Deux ensembles spécifiés dans la fonction << >> ont une dimensionalité différente.
    Par clementratel dans le forum Autres outils décisionnels
    Réponses: 0
    Dernier message: 20/02/2008, 16h15

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