Alexos
Новичок
Выбрать весь товар с фотками и без, подобрав товар по фоткам.
Есть таблица товаров
CREATE TABLE `items` (
`item_id` int(11) unsigned NOT NULL auto_increment,
`articul` varchar(255) NOT NULL default '',
`name_item` varchar(255) NOT NULL default '',
`price` decimal(11,2) NOT NULL default '0.00',
PRIMARY KEY (`item_id`)
)
Есть таблица с ID фоток
CREATE TABLE `cat_img` (
`id` int(11) unsigned NOT NULL auto_increment,
`file_size` int(11) NOT NULL default '0',
PRIMARY KEY (`id`)
)
Есть таблица, хранящая связи между айди товаров и соответствующих им фоток
CREATE TABLE `links_img` (
`id` int(11) unsigned NOT NULL auto_increment,
`item_id` int(11) default NULL,
`img_id` int(11) default NULL,
PRIMARY KEY (`id`)
)
Мне нужно вывести весь товар и и подобрать строки (т.е. отсортировать) по первому встречающемуся в таблице links_img изображению. Т.е. даже если у товара нету ниодной фотки его тоже нужно включить в этот список. Я делаю такой запрос - все подбирается как надо, но выводятся только товары с фотками, а товары у которых фоток нет , не выводятся!
[sql]
SELECT * FROM items as a, links_img as b
WHERE a.item_id=b.item_id
GROUP BY a.item_id
ORDER BY b.img_id DESC
[/sql]
Как решить задачку?
Сорри, если коряво изложил! Спросите - поясню.
PS Уважаемые модераторы, если одним запросом тут не обойтись и нужно вплетать php, не переносите плз в форум по Муське.
-~{}~ 23.06.05 01:58:
Здается мне, что косяк вот в этом условии WHERE a.item_id = b.item_id. Это условие говорит о том, что нужно выбирать только те товары, ID которых связаны с картинками, т.е. присутствуют в таблице links_img !!!
Как вывести все товары, но подобрать по фоткам? Что нужно исправить в запросе?
Есть таблица товаров
CREATE TABLE `items` (
`item_id` int(11) unsigned NOT NULL auto_increment,
`articul` varchar(255) NOT NULL default '',
`name_item` varchar(255) NOT NULL default '',
`price` decimal(11,2) NOT NULL default '0.00',
PRIMARY KEY (`item_id`)
)
Есть таблица с ID фоток
CREATE TABLE `cat_img` (
`id` int(11) unsigned NOT NULL auto_increment,
`file_size` int(11) NOT NULL default '0',
PRIMARY KEY (`id`)
)
Есть таблица, хранящая связи между айди товаров и соответствующих им фоток
CREATE TABLE `links_img` (
`id` int(11) unsigned NOT NULL auto_increment,
`item_id` int(11) default NULL,
`img_id` int(11) default NULL,
PRIMARY KEY (`id`)
)
Мне нужно вывести весь товар и и подобрать строки (т.е. отсортировать) по первому встречающемуся в таблице links_img изображению. Т.е. даже если у товара нету ниодной фотки его тоже нужно включить в этот список. Я делаю такой запрос - все подбирается как надо, но выводятся только товары с фотками, а товары у которых фоток нет , не выводятся!

[sql]
SELECT * FROM items as a, links_img as b
WHERE a.item_id=b.item_id
GROUP BY a.item_id
ORDER BY b.img_id DESC
[/sql]
Как решить задачку?
Сорри, если коряво изложил! Спросите - поясню.
PS Уважаемые модераторы, если одним запросом тут не обойтись и нужно вплетать php, не переносите плз в форум по Муське.
-~{}~ 23.06.05 01:58:
Здается мне, что косяк вот в этом условии WHERE a.item_id = b.item_id. Это условие говорит о том, что нужно выбирать только те товары, ID которых связаны с картинками, т.е. присутствуют в таблице links_img !!!
Как вывести все товары, но подобрать по фоткам? Что нужно исправить в запросе?