-1
votes

Je veux créer une table qui a plusieurs rangées du même attribut avec une colonne différente

Désolé, je aurais dû être plus spécifique avec ma question:

Ceci est mon numéro actuel

J'ai une table qui a: xxx < P> Et j'en ai besoin pour ressembler à ceci: xxx


3 commentaires

Êtes-vous Création de une table avec ces deux colonnes, comme le titre de la question indique? Ou êtes-vous Querifier une ou plusieurs autres tables pour obtenir ces résultats? Ce n'est pas vraiment clair ce que le problème est ici. Quel problème spécifique avez-vous rencontré?


@CID Créer des tables n'a aucune chose à voir avec des rangées.


Ce genre de problème est symptomatique de la conception médiocre


4 Réponses :


1
votes

Vous avez besoin Union tout code> pour combiner toutes les colonnes:

SELECT Customer_ID, H2_1 AS H2_Code
FROM table t
UNION ALL
SELECT Customer_ID, H2_2
FROM table t
UNION ALL
SELECT Customer_ID, H2_3
FROM table t 
UNION ALL
SELECT Customer_ID, H2_4
FROM table t 
UNION ALL
SELECT Customer_ID, H2_5
FROM table t


2 commentaires

@ Ciccotelli412. . . Ce n'est pas un bon endroit pour commenter cela à la place, vous modifiez la question.


Dans quel sens la "vieille" version ne supporte pas la croix rejoindre !?!



1
votes

Vous semblez vouloir que Union tout : xxx

Notez que Union tout nécessite de numériser le tableau 5 fois. Pour les tables de petite ou moyenne taille, cela ne devrait pas être un problème. Pour les plus grandes tables, il existe des mécanismes légèrement plus compliqués qui ne feraient que scanner la table une fois.


1 commentaires

Comment feriez-vous cela dans 1 numérisation? Utiliser un curseur?



0
votes

Vous voudrez peut-être syndiquer les différentes requêtes qui récupèrent chaque h2_something, puis commander par Customer_ID

schéma (mysql v5.7) xxx < HR>

Query n ° 1 xxx


xxx

Vue sur DB Fiddle


0 commentaires

0
votes

Notez qu'un schéma normalisé ressemblerait généralement à quelque chose comme ceci: xxx


0 commentaires