À l'aide de Max sur un Tableau joint à un autre

L'objectif est de créer une vue d'ensemble des enregistrements de données. Ces documents proviennent de plusieurs tables. L'une de ces Tables est titulaire de plusieurs lignes par enregistrement, ayant chacun un numéro d'identification. Seul celui avec le plus haut nombre d'ID doit être indiqué.

J'ai essayé de faire quelques choses avec des Jointures internes, mais je ne peux pas obtenir de droit.

une vue simplifiée du problème:

Tabel1      
Tabel1_Id   ValueA      ValueB
1           ABC         DEF
2           GHI         JKL
3           MNO         PQR
4           STU         VWX

Tabel2          
Tabel2_id   Tabel1_Id   Number      ValueC
1           1           1           Green
2           1           2           Yellow
3           2           1           Blue
4           1           3           Red
5           3           1           Purple
6           3           2           Pink
7           2           2           Violet
8           4           1           Magenta
9           2           3           Cyan
10          4           2           Teal

Desired Result      
ValueA  ValueB  ValueC
ABC     DEF     Red
GHI     JKL     Cyan
MNO     PQR     Pink
STU     VWX     Teal
0
2019-09-17 10:48:04
source
2 réponses

Vous avez écrit annéenaissance avec un capital Y. Python est sensible à la casse.

+0
2019-09-17 10:52:57

Il vous manque une deuxième parenthèse fermante après le birthyear= l'affectation. Vous avez int(input(...) avec deux gauche parens, et un droit de parens.

Edit: Vous avez changé le problème d'origine du texte. Le seul problème que je vois est que votre birthyear= et age= lignes commençant par un espace vide. Quand j'ai enlevé l'espace vide, il fonctionne exactement comme on l'espérait.

Edit 2: à Partir de votre commentaire:

>>> b=int(input('birthyear? '))
birthyear? 23
>>> b
23

De sorte que fonctionne correctement. Si votre entrée de ligne de commande n'est pas valide, si:

>>> b=int(input('birthyear? '))
birthyear? boo!
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'boo!'

Qui souffle avec un message d'erreur similaire à ce que vous avez vu.

+0
2019-09-17 10:52:57

Voir d'autres questions sur les étiquettes