Bonsoir à tous, est il possible dans une table sql de définir un choix à une valeur svp exemple concret:
Champ choix: Valeurs:
A,B,C 1,2,3
Si l utilisateur choisi la réponse B, dans le champ « valeurs » cela enregistre « 2 »
Merci d avance à tous
Bonsoir à tous, est il possible dans une table sql de définir un choix à une valeur svp exemple concret:
Champ choix: Valeurs:
A,B,C 1,2,3
Si l utilisateur choisi la réponse B, dans le champ « valeurs » cela enregistre « 2 »
Merci d avance à tous
Tu peux faire cela avec 2 tables et une dépendance fonctionnelle / clef étrangère :
Table constructeur (id, nom)
Table voiture (id, nom, constructeur_id)
constructeur -------------- id=1 nom=Peugeot id=2 nom=Renault id=3 nom=CitroënLa table voiture vaudra :insert into voiture set nom = 'Alpine', constructeur_id = (select all id from constructeur where nom = 'Renault') ;
id=1 nom=Alpine constructeur_id=2
Visiblement je n’y arrive pas, et vu mes lacunes en sql, peut on être plus précis svp?
De ce que je comprends du besoin, la réponse ici est plutôt l'utilisation d'un CASE :
Code SQL : 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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 create table T1 ( T1C1 smallint primary key , T1C2 char(1) not null , T1C3 smallint not null ) ; insert into T1 (T1C1, T1C2, T1C3) values ( 1 , 'A' , case when T1C2 = 'A' then 1 when T1C2 = 'B' then 2 else 3 end ) , ( 2 , 'C' , case when T1C2 = 'A' then 1 when T1C2 = 'B' then 2 else 3 end ) , ( 3 , 'A' , case when T1C2 = 'A' then 1 when T1C2 = 'B' then 2 else 3 end ) , ( 4 , 'B' , case when T1C2 = 'A' then 1 when T1C2 = 'B' then 2 else 3 end ) ;
Résultat :
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select * from T1 ;
Solution applicable seulement s'il n'y a que peu de valeurs possibles.
Mais en ce cas, il y a une redondance dans la table, quel est le but de la manœuvre ?
![]()
Le but est:
Un technicien effectue des installations +/- 8 par jour, nous avons au total 20 techniciens… nous voulons qu’il entre son matériel installé via un formulaire, dans le formulaire nous devons absolument récupérer le nom du matériel placer et non pas une valeur…. En revanche j’ai besoin d attribuer une valeur au matériel pour ensuite créer une barre de progression sur 100 points
Le but étant de dire au technicien en fin de journée tu as eu 90/100
J’espère avoir été compréhensible dans mon texte. Je vous remercie pour votre aide
En ce cas il faut une table matériel (PK soulignée, contraintes unique en gras, FK suffixées #) :
MA_MATERIEL (MA_ident, MA_reference, MA_num_serie, MA_date_fab, MA_valeur...)
Une table Technicien :
TE_TECHNICIEN(TE_ident, TE_matricule, TE_nom, TE_prenom...)
Une table intervention, une intervention est faite par un technicien à une date, c'est donc une table associative dont la PK est composée :
IT_INTERV (IT_date, TE_ident#, MA_ident#, IT_duree, ...)
Et en fin de journée, on recherche les interventions de chaque technicien pour la journée, et on cumule les valeurs des matériels concernés.
Partager