-1
votes

Lors de l'affichage du groupe de valeur de table dans MySQL, il affiche chaque valeur de '0'

ma table xxx

et ses valeurs sont xxx

maintenant, je vais regrouper la table mais retourne la valeur dans 0 Pendant le groupe, la table renvoie chacune et toutes les valeurs de colonne se rendent dans 0. Pourquoi c'est arrivé. J'ai besoin de cadeau ou d'absence au lieu de 0. Quelqu'un peut-il résoudre cette erreur logique?

 Query également attaché


3 commentaires

Faire pas code postal comme image! Collez le texte dans la question.


Avec des problèmes SQL, il est vraiment utile si vous montrez le schéma d'une manière que nous puissions créer une table, avec des données de test si possible localement pour tester une réponse. Alors essayez show créer une table votretablename; et copier / coller la sortie sur votre question


Votre requête n'est pas valide quand même. Vous avez eu beaucoup de colonnes ni dans le groupe par ni d'appliquer une fonction d'agrégation. Les versions MySQL plus anciennes ou les mauvaises configuries permettent que, avec des résultats éventuellement aléatoires et indésirables.


3 Réponses :


1
votes

somme (cas quand heure = 'p1' puis statut ailleurs 'null' end) p1

Le problème est que vous résumez des numéros et litière string 'null' .

vous voulait null ( Sans citations) - ou mieux encore, 0 xxx

Notez que dans MySQL évalue les conditions vraies / fastes comme 1/0 dans le contexte numérique, ce qui permet raccourcir l'expression comme: xxx


4 commentaires

même résultat affiché


@Technosubbu: Faites attention au boîtier de caractère supérieur / inférieur. Vous êtes en minuscule ( p1 ), mais il semble que certaines de vos expressions ont la majuscule ( p1 ).


Il retourne 0/1 mais j'ai besoin de "présent" ou "absent" au lieu de 1/0


ok j'ai regardé et converti en minuscule merci. S'il vous plaît résoudre ci-dessus commentaire



0
votes
create view attendance1 as(
select attendance.stuid,
case when hour="p1" then status end as p1,
case when hour="p2" then status end as p2,
case when hour="p3" then status end as p3,
case when hour="p4" then status end as p4,
case when hour="p5" then status end as p5,
case when hour="p6" then status end as p6,
case when hour="p7" then status end as p7,
case when hour="p8" then status end as p8
from attendance);

select * from attendance1;

mysql> select * from attendance1;
+-----+------+------+------+------+------------+------+-------+---------+---------+---------+------+------+------+---------+------+---------+
| aid | sid  | cid  | ttid | did  | date       | hour | stuid | status  | p1      | p2      | p3   | p4   | p5   | p6      | p7   | p8      |
+-----+------+------+------+------+------------+------+-------+---------+---------+---------+------+------+------+---------+------+---------+
|   1 |    2 |   13 |    4 |    3 | 2020-03-25 | p1   |    16 | present | present | NULL    | NULL | NULL | NULL | NULL    | NULL | NULL    |
|   2 |    2 |   13 |    4 |    3 | 2020-03-25 | p1   |    17 | absent  | absent  | NULL    | NULL | NULL | NULL | NULL    | NULL | NULL    |
|   3 |    2 |   13 |    4 |    3 | 2020-03-25 | p1   |    18 | present | present | NULL    | NULL | NULL | NULL | NULL    | NULL | NULL    |
|   4 |    2 |   13 |    4 |    3 | 2020-03-25 | p1   |    19 | absent  | absent  | NULL    | NULL | NULL | NULL | NULL    | NULL | NULL    |
|   5 |    2 |   13 |    4 |    3 | 2020-03-25 | p1   |    20 | present | present | NULL    | NULL | NULL | NULL | NULL    | NULL | NULL    |
|   6 |    2 |   13 |    4 |    3 | 2020-03-25 | p1   |    15 | absent  | absent  | NULL    | NULL | NULL | NULL | NULL    | NULL | NULL    |
|   7 |    2 |   13 |    2 |    2 | 2020-03-17 | p6   |    16 | present | NULL    | NULL    | NULL | NULL | NULL | present | NULL | NULL    |
|   8 |    2 |   13 |    2 |    2 | 2020-03-17 | p6   |    17 | absent  | NULL    | NULL    | NULL | NULL | NULL | absent  | NULL | NULL    |
|   9 |    2 |   13 |    2 |    2 | 2020-03-17 | p6   |    18 | present | NULL    | NULL    | NULL | NULL | NULL | present | NULL | NULL    |
|  10 |    2 |   13 |    2 |    2 | 2020-03-17 | p6   |    19 | absent  | NULL    | NULL    | NULL | NULL | NULL | absent  | NULL | NULL    |
|  11 |    2 |   13 |    2 |    2 | 2020-03-17 | p6   |    20 | present | NULL    | NULL    | NULL | NULL | NULL | present | NULL | NULL    |
|  12 |    2 |   13 |    2 |    2 | 2020-03-17 | p6   |    15 | absent  | NULL    | NULL    | NULL | NULL | NULL | absent  | NULL | NULL    |
|  13 |    2 |   13 |    4 |    3 | 2020-03-25 | p2   |    16 | present | NULL    | present | NULL | NULL | NULL | NULL    | NULL | NULL    |
|  14 |    2 |   13 |    4 |    3 | 2020-03-25 | p2   |    17 | present | NULL    | present | NULL | NULL | NULL | NULL    | NULL | NULL    |
|  15 |    2 |   13 |    4 |    3 | 2020-03-25 | p2   |    18 | present | NULL    | present | NULL | NULL | NULL | NULL    | NULL | NULL    |
|  16 |    2 |   13 |    4 |    3 | 2020-03-25 | p2   |    19 | present | NULL    | present | NULL | NULL | NULL | NULL    | NULL | NULL    |
|  17 |    2 |   13 |    4 |    3 | 2020-03-25 | p2   |    20 | present | NULL    | present | NULL | NULL | NULL | NULL    | NULL | NULL    |
|  18 |    2 |   13 |    4 |    3 | 2020-03-25 | p2   |    15 | present | NULL    | present | NULL | NULL | NULL | NULL    | NULL | NULL    |
|  19 |    2 |   13 |    4 |    3 | 2020-03-25 | p8   |    16 | absent  | NULL    | NULL    | NULL | NULL | NULL | NULL    | NULL | absent  |
|  20 |    2 |   13 |    4 |    3 | 2020-03-25 | p8   |    17 | absent  | NULL    | NULL    | NULL | NULL | NULL | NULL    | NULL | absent  |
|  21 |    2 |   13 |    4 |    3 | 2020-03-25 | p8   |    18 | present | NULL    | NULL    | NULL | NULL | NULL | NULL    | NULL | present |
|  22 |    2 |   13 |    4 |    3 | 2020-03-25 | p8   |    19 | present | NULL    | NULL    | NULL | NULL | NULL | NULL    | NULL | present |
|  23 |    2 |   13 |    4 |    3 | 2020-03-25 | p8   |    20 | present | NULL    | NULL    | NULL | NULL | NULL | NULL    | NULL | present |
|  24 |    2 |   13 |    4 |    3 | 2020-03-25 | p8   |    15 | absent  | NULL    | NULL    | NULL | NULL | NULL | NULL    | NULL | absent  |
+-----+------+------+------+------+------------+------+-------+---------+---------+---------+------+------+------+---------+------+---------+
24 rows in set (0.02 sec)

0 commentaires

0
votes

Enfin j'ai trouvé une solution basée sur des erreurs précédentes xxx

en fonction de la première vue, je créerai une deuxième vue xxx

merci pour précédent questions répondues à la personne.


0 commentaires