Je voudrais juste sélectionner les tables bothe où table1.id = 1 J'ai 2 tables table1: voitures. Tableau 2: propriétaire la table 1 n'a pas toutes les informations donc je voudrais obtenir toutes les informations dans une colonne. Je veux dire que j'ai besoin du propriétaire-téléphonecomment sélectionner 2 tables en sql mais pas de répétition?
Je fais comme ça mais je reçois toute la colonne. comment ajouter l'identifiant?
drop table cars;
drop table owners;
CREATE TABLE cars(id INTEGER(11) PRIMARY KEY AUTO_INCREMENT, model TEXT, price TEXT, name TEXT);
create table owners(
id INTEGER(11) PRIMARY KEY AUTO_INCREMENT,
phone varchar(25),
name varchar(25),
constraint owners_fk foreign key(id) references carss(id)
);
insert into cars(model , price, name)values('bmw', '10.000', 'thomas');
insert into cars(model , price, name)values('fiat', '5.000', 'none');
insert into owners(phone , name)values('0333333','thomas');
insert into owners(phone , name)values('04444444','Tom');
SELECT * FROM cars
LEFT JOIN owners ON cars.name = owners.name
UNION ALL
SELECT * FROM cars
RIGHT JOIN owners ON cars.name = owners.name;
les 2 tables seront sélectionnés, mais comment puis-je sélectionner une seule colonne de la pleine union pour obtenir toutes les infos dans une colonne? J'utilise mysql.
avec jointure gauche est ok mais je ne les noms pas doubles: show picture of result
si je viens d'utiliser le rejoindre gauche:
SELECT * FROM cars
LEFT JOIN owners ON cars.name = owners.name where name='thomas';
supprimer le 'ALL'? 'UNION' supprime les doublons. – maraca
Marquez la base de données que vous utilisez. –
Quelle base de données utilisez-vous? – GurV