2014-09-08 3 views
-6

Мои 3 таблицы, а именно продукт, группа, Информация о продуктеУ меня есть 3 таблицы, и я хочу, чтобы извлечь данные из него

Продукт

CREATE TABLE IF NOT EXISTS `product` (
    `p_id` int(11) NOT NULL AUTO_INCREMENT, 
    `product` varchar(50) NOT NULL, 
    PRIMARY KEY (`p_id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ; 
INSERT INTO `product` (`p_id`, `product`) VALUES 
(1, 'Atta'), 
(2, 'OIl'); 

Марка

CREATE TABLE IF NOT EXISTS `brand` (
    `b_id` int(11) NOT NULL AUTO_INCREMENT, 
    `p_id` int(11) NOT NULL, 
    `brand` varchar(50) NOT NULL, 
    `image` varchar(255) NOT NULL, 
    PRIMARY KEY (`b_id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; 

Вставка

INSERT INTO `brand` (`b_id`, `p_id`, `brand`, `image`) VALUES 
(1, 1, 'Ashirvad', 'FreeVector-Blue-Squares-Vector.jpg'), 
(2, 1, 'Phillsberry', 'ILBAGNOALESSI_One_02.jpg'), 
(3, 2, 'Sunflower', '001-bi-fold-corporate-brochure-template-vol-1-2.jpg'); 

Продукт

CREATE TABLE IF NOT EXISTS `product_info` (
    `pi_id` int(11) NOT NULL AUTO_INCREMENT, 
    `pro` int(11) NOT NULL, 
    `b_id` int(11) NOT NULL, 
    `quantity` varchar(20) NOT NULL, 
    `measurement` varchar(20) NOT NULL, 
    `mrp` varchar(20) NOT NULL, 
    `our_price` varchar(20) NOT NULL, 
    PRIMARY KEY (`pi_id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; 

Вставка

INSERT INTO `product_info` (`pi_id`, `pro`, `b_id`, `quantity`, `measurement`, `mrp`, `our_price`) VALUES 
(1, 1, 1, '1', 'kg', '50', '48'), 
(2, 1, 2, '1', 'kg', '60', '59'), 
(3, 2, 3, '1', 'ltr', '90', '86'); 

Когда я пользоваться приведенной ниже запрос,

select a.product,a.p_id,b.b_id,b.brand,b.image,c.quantity,c.measurement,c.mrp,c.our_price,c.pi_id 
from product a, brand b,product_info c 
where a.p_id=b.p_id 

ПРИСТУПАЯ 3 петли данных

ответ

0

Теперь вы извлекаются данные из всех трех таблиц. Используйте joins, чтобы создать таблицу результатов.

1

Вам необходимо условие соединения для product_info, иначе вы присоединитесь к каждой строке product_info со строками из других таблиц.

select a.product,a.p_id,b.b_id,b.brand,b.image,c.quantity,c.measurement,c.mrp,c.our_price,c.pi_id 
from product a, brand b,product_info c 
where a.p_id=b.p_id 
and b.b_id = c.b_id 

Кроме того, вы должны научиться использовать ANSI Явного синтаксис:

select a.product,a.p_id,b.b_id,b.brand,b.image,c.quantity,c.measurement,c.mrp,c.our_price,c.pi_id 
from product a 
join brand b ON a.p_id = b.p_id 
join product_info c ON b.b_id = c.b_id 
Смежные вопросы