IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Voir le flux RSS

informer

  1. SQL - EXISTS

    par , 20/11/2021 à 12h06
    ...
    C'est une traduction G de la page Whether to EXISTS or NOT EXISTS ... écrite par Ben Clothier


    Un peu de théorie

    La différence entre IN() et EXISTS() est que IN() renvoie un ensemble de résultats qui est ensuite évalué par une requête principale. EXISTS() renvoie simplement une valeur booléenne sans renvoyer aucune donnée sur la sous-requête. Pour illustrer, considérons cette déclaration*:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT *
    FROM tblOrders
    WHERE
    ...

    Mis à jour 20/11/2021 à 12h51 par informer

    Tags: exists, ms-access, sql
    Catégories
    SQL
  2. Ms Access - SQL - ORDER BY sur Mois Année dans un GROUP BY avec affichage en Mois Long Année

    par , 19/11/2021 à 10h23
    Bonjour à tous ,


    Je me suis posé la question d'ordonner les données en fonction du Mois/Annee dans une requête GROUP BY.

    La solution est simple, il faut déclarer deux colonnes avec format
    1. Une pour l'affichage Mois Long Année -> format([dateRef], 'mmm yyyy') as MoisAn
    2. Une pour l'ordre Année mois -> format([dateRef], 'yyyy mm') as AnMois



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Id, FormatNumber((Sum(PrixUnit*Qte)),2,-1,0,-1) AS IDVERDE_MntHTLivrTotal,
    ...
  3. MS ACCESS - SQL - CASE WHEN ELSE -> SWITCH ( ..., true , 'Value by default')

    par , 08/10/2021 à 12h39
    Bonjour à tous,

    La syntaxe proposée par l'aide en ligne MS est :
    Switch(expr-1, value-1, [ expr-2, value-2..., [ expr-n, value-n ]])

    Switch renvoie une valeur Null dans le cas suivants :
    • Aucune expression n’a la valeur True.
    • La première expression ayant une valeur True a une valeur correspondante Null
    Mais rien d'explicite sur comment avoir l'équivalent de ELSE

    Très simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Switch(..., True, 'ValueByDefault'
    ...

    Mis à jour 19/11/2021 à 09h58 par informer

    Catégories
    Sans catégorie
  4. Troncation du champ MEMO retourné dans requête : Raisons & solutions

    par , 10/06/2018 à 09h52
    Les différentes raisons de troncation sont expliquées ici memo field truncation by allen browne

    Il faut donc :
    1. Positionner en premier le champ memo
    2. Supprimé DISTINCT de la requête et par conséquent modifié la requête initiale en ajoutant une sous requête avec WHERE champX IN (SELECT DISTINCT champX....)


    La coexistence de 2 champs memo est donc impossible
  5. SWITCH un IIF étendu

    par , 06/06/2018 à 10h53
    La fonction SWITCH est plus modulaire qu’IIF

    Switch ( expression1, value1, expression2, value2, ... expression_n, value_n, True, default value)
    EXEMPLE
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT Switch(num=0,'ZERO',num=1,'UN' ,num=2,'DEUX',True,'Autre' ) AS test FROM table

    Mis à jour 29/07/2018 à 19h01 par LittleWhite (Coloration du code)

    Tags: iif, sql, switch, vba
    Catégories
    Sans catégorie