Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Sql select to remove blank fields
Message
De
15/07/2019 14:35:09
 
 
À
15/07/2019 11:07:15
Cetin Basoz
Engineerica Inc.
Izmir, Turquie
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Divers
Thread ID:
01669607
Message ID:
01669615
Vues:
76
>
>Select t1.field1, t2.field2, t3.field3, nvl(t1.group, Nvl(t2.group, t3.group)) as group, sys(2015) as newId ;
>from (Select field1, group ;
>from Table1 ;
>where !Empty(field1)) t1 ;  
>full join (Select field2, group ;
>from Table1 ;
>where !Empty(field2)) t2 on t1.group = t2.group ;
>full join (Select field3, group ;
>from Table1 ;
>where !Empty(field3)) t3 on Nvl(t1.group, t2.group) = t3.group
>
An slightly edited version if you only want spaces and not .NULL. fields in the output cursor:
SELECT  NVL(t1.field1, SPACE(LEN(table1.field1))) AS field1, ;
        NVL(t2.field2, SPACE(LEN(table1.field2))) AS field2, ;
        NVL(t3.field3, SPACE(LEN(table1.field3))) AS field3, ;
        NVL(t1.group, NVL(t2.group, t3.group)) AS group, ;
        SYS(2015) AS newId ;
    ;
    FROM          (SELECT field1, group FROM table1 WHERE !Empty(field1)) t1 ;
        FULL JOIN (SELECT field2, group FROM table1 WHERE !Empty(field2)) t2 ON t1.group                = t2.group ;
        FULL JOIN (SELECT field3, group FROM table1 WHERE !Empty(field3)) t3 ON NVL(t1.group, t2.group) = t3.group ;
    ;
    INTO CURSOR c_scrunched
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform