J'ai quatre tables: personne, entraîneur, joueur, jeux. Je dois écrire une instruction SQL SELECT qui renverra: mon identifiant, mon nom, ma date de naissance, ma date d'inscription, le nom de l'entraîneur avec lequel je suis inscrit et la date, l'heure et la durée du match.Comment écrire une instruction SQL SELECT qui renvoie des valeurs de plusieurs tables?
La table de personnes comprend: ID de personne, nom, date de naissance et autres valeurs inutiles. La table d'entraîneur comprend: l'identifiant de l'entraîneur et quelques autres valeurs inutiles. La table du joueur se compose de: id du joueur, date de la jonction, joint avec. La table de jeu comprend: l'identifiant de l'entraîneur, l'identifiant du joueur, la date du match, l'heure du match, la durée du match.
La table des personnes stocke essentiellement tous les noms et les principaux détails de l'entraîneur et des joueurs. Les tables sont liées correctement.
J'ai essayé plusieurs instructions mais je me suis totalement confondu. L'exemple est un peu boiteux, j'avais quelque chose d'autre mais je ne suis pas vraiment sûr de la façon de le faire.
par exemple.
SELECT person_id, full_name, date_of_birth, join_date
FROM (person JOIN player ON player_id = person_id)
WHERE person_id='100' AND person_id, full_name
FROM (person JOIN coach ON coach_id = person_id);
Ce sont les déclarations: CREER
CREATE TABLE person (
person_id CHAR(10) NOT NULL,
full_name VARCHAR(54) NOT NULL,
date_of_birth DATE,
sex CHAR(1),
PRIMARY KEY (person_id)
) engine innodb;
CREATE TABLE coach (
coach_id CHAR(10) NOT NULL,
phone_no CHAR(10) NOT NULL,
hall_no CHAR(4) NOT NULL,
PRIMARY KEY (coach_id),
FOREIGN KEY (coach_id) REFERENCES person (person_id)
) engine innodb;
CREATE TABLE player (
player_id CHAR(10) NOT NULL,
join_date DATE NOT NULL,
joined_with CHAR(10),
PRIMARY KEY (player_id),
FOREIGN KEY (player_id) REFERENCES person (person_id),
FOREIGN KEY (joined_with) REFERENCES coach (coach_id)
) engine innodb;
CREATE TABLE game (
coach_id CHAR(10) NOT NULL,
player_id CHAR(10) NOT NULL,
game_date DATE NOT NULL,
game_time TIME NOT NULL,
game_duration INTEGER DEFAULT 10,
PRIMARY KEY (coach_id, player_id, game_date, game_time),
FOREIGN KEY (coach_id) REFERENCES coach (coach_id),
FOREIGN KEY (player_id) REFERENCES player (player_id)
) engine innodb;
L'utilisation d'une syntaxe valide aidera. Publiez les messages d'erreur * real * et/ou une sortie inattendue. Cependant, je suggère de lire quelques "didacticiels de jointure SQL", ce qui permettra de formuler une meilleure question de base. –
Veuillez ajouter vos instructions create à la question. –
J'ai ajouté les instructions create. Il n'y a pas de message d'erreur parce que je n'ai pas de déclaration, je pense que vous avez mal compris la question. Merci pour le -1. Je comprends que j'aurais dû faire plus de recherches sur ce sujet moi-même et je l'aurais fait si ce n'était pas pour des circonstances imprévues. Je suis sûr que je peux tout comprendre par moi-même, mais j'ai besoin de plus de temps que je n'ai pas actuellement. – Hazzle