SELECT - SQL/NoSQL - Programmation
Marsh Posté le 03-06-2006 à 07:37:31
Tu dois faire une jointure
Code :
|
dans ce sens ou dans l'autre
Code :
|
ou avec "where"
Code :
|
Marsh Posté le 04-06-2006 à 23:14:37
ReplyMarsh Posté le 04-06-2006 à 23:22:28
Si j'ai bien compris, c'est un code dans ce genre qu'il te faut :
SELECT artistes.NOM FROM cd
LEFT JOIN artistes ON artistes.ID = cd.artiste_id
WHERE TITRE = "...";
Marsh Posté le 05-06-2006 à 14:21:16
radioh a écrit : merci ! |
et bien tu fais plusieurs jointures
Marsh Posté le 05-06-2006 à 14:47:31
ReplyMarsh Posté le 05-06-2006 à 17:50:59
super merci ! ca marche ! g un autre problème ! un gros !
j'aimerais updater plusieurs tables à la fois :
create table artiste (
id_artiste serial PRIMARY KEY,
nom_artiste varchar(50) UNIQUE NOT NULL
);
create table label (
id_label serial PRIMARY KEY,
nom_label varchar(50) UNIQUE NOT NULL
);
create table cd (
id_cd serial PRIMARY KEY,
titre_cd varchar(50) NOT NULL,
artiste_id INTEGER NOT NULL,
label_id INTEGER NOT NULL,
FOREIGN KEY(artiste_id) references artiste(id_artiste),
FOREIGN KEY(label_id) references label(id_label)
);
Je veux pouvoir updater la table artistes ET label selon le "id" de la table CD qui est passée en parametre dans l'url ? vous me comprenez ?
Imaginons :
TABLE CD
-------------------------------------------------------------------
id_cd artiste_id label_id titre_cd
-------------------------------------------------------------------
1 2 1 Ok Computer
2 1 2 Neon Golden
TABLE ARTISTE
--------------------------------
id_artiste nom_artiste
-------------------------------
1 The Not
2 Radiohead
TABLE LABEL
--------------------------------
id_label nom_label
-------------------------------
1 Parlophone
2 Capitol Records
Now je veux modifier le nom de l'artiste dans la TABLE ARTISTE et le nom du label dans la TABLE LABEL, par rapport à l'entrée numéro 2 de la TABLE CD. Vous comprenez ?
j'ai essayé ceci :
UPDATE artiste SET nom_artiste = $nom_artiste WHERE id_artiste IN (SELECT artiste_id FROM cd WHERE id_cd = '$id'); mais ca ne marche que pour UNE SEULE table !
P.S $id est passé en parametre dans l'url...
Marsh Posté le 05-06-2006 à 19:24:30
moi23372 a écrit : OU |
déjà dit
radioh a écrit : |
tu ne peux updater qu'une table à la fois
Marsh Posté le 03-06-2006 à 01:19:27
Salut tout le monde,
bon voilà, il y a quelque chose que je n'arrive pas à résoudre... je m'explique :
J'ai créé deux tables : Une table "CD" et une table "ARTISTES".... je les ai créées comme ceci :
create table artistes (
id serial PRIMARY KEY,
nom varchar(50) UNIQUE NOT NULL
);
create table cd (
id serial PRIMARY KEY,
titre varchar(50) NOT NULL,
artiste_id INTEGER NOT NULL,
FOREIGN KEY(artiste_id) references artistes(id),
);
Donc dans ma table CD, j'ai un pointeur qui part du champ "artiste_id" et qui pointe sur le "id" de la table "artistes".
Ma question est la suivante : Comment je fais pour chercher une ligne de ma table CD pour que j'obtienne le titre et le NOM de l'artiste et non pas son id...
merci bcp!