0
votes

Afficher 2 tables dans 1 grille

J'ai 2 tables (table1 et table2).

TABLE-TABLE1 & TABLE2 a les mêmes noms de colonnes, mais TABLE2 a quelques colonnes supplémentaires que TABLE1.

noms de colonne comme suit:

  • Table1 [nom, nom, âge, sexe, hauteur]
  • Table2 [Nom, Nom, âge, sexe, Datefirth, Origine]

    J'essaie d'obtenir les données des deux tables dans 1 GridView.

    ive essayé d'utiliser un syndicat tout mais il jette une erreur car les colonnes ne sont pas identiques.

    est-il possible de rejoindre toutes ces colonnes en 1 grilleView et d'afficher les données en conséquence?

    par exemple: nom, nom de famille, âge, sexe, hauteur, date d'accès à l'origine

    Si oui, à quoi ressemblerait ma requête SQL?

    PS: J'ai 70 colonnes dans chaque table afin de sélectionner individuellement cela ne va pas fonctionner


2 commentaires

"... J'ai plus de 70 colonnes dans chaque table afin de sélectionner individuellement cela ne va pas fonctionner ..." - À compter de 2019, SQL n'a toujours aucune autre façon de spécifier des colonnes. Vous devrez les taper tous.


Pourquoi avez-vous deux tables similaires?


3 Réponses :


1
votes

Il suffit de mettre des valeurs nulles dans les colonnes manquantes et d'utiliser union tout xxx

comme mentionné par @TheMpaler Il n'y a aucun moyen de sélectionner les colonnes à la main .


0 commentaires

0
votes

Vous pouvez utiliser la fonction Row_Number

SELECT t1.Column1, t1.Column2, t2.Column3, t2.Column4
FROM (
   SELECT Column1, Column2,
          ROW_NUMBER() OVER (ORDER BY Column1) AS rn
   FROM Table1) AS t1
FULL OUTER JOIN  (
   SELECT Column3, Column4,
          ROW_NUMBER() OVER (ORDER BY Column3) AS rn
   FROM Table2) AS t2
ON t1.rn = t2.rn  


0 commentaires

0
votes

S'il vous plaît essayez ceci.

SELECT 
    Name, Surname, Age, Gender, Height,NULL AS DateOfBirth,NULL AS  Origin 
FROM 
    table1 

UNION ALL

SELECT 
    Name, Surname, Age, Gender, NULL AS Height, DateOfBirth, Origin
FROM 
    table2 


0 commentaires