0
나는 두 개의 테이블, Users
과 Products
을 가지고있다. 사용자에게 몇 가지 제품이있을 수 있습니다. 모든 제품을 선택하고 속한 사용자를 표시해야합니다.mysql은 하나의 관계에서 많은 관계를 선택한다
mysql 조인을 사용하여 문제를 해결하는 방법.
SELECT users.login FROM users LEFT JOIN products ON users.id=products.user_id;
을하지만,이 경우에는 나에게 유일한 사용자 로그인을 보여줍니다,하지만 난뿐만 아니라 제품 이름, 가격과 설명을 얻을 필요가 :
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`login` varchar(16) NOT NULL,
`password` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8
CREATE TABLE `products` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`name` varchar(255) NOT NULL,
`description` varchar(255) NOT NULL,
`price` decimal(10,2) NOT NULL,
PRIMARY KEY (`id`),
KEY `user_id` (`user_id`),
CONSTRAINT `user_id` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=29 DEFAULT CHARSET=utf8
나는이 같은 시도했습니다.
감사하지만이 쿼리는 'products'의 열만 반환하고 'users'테이블의 로그인은 반환하지 않습니다. – lalexa