D
DeMx
Запрос:
Таблицы:
Сейчас при выполнении этого запроса сервер возвращает "You probably tried to upload too large file."
Структуру менять нельзя... и хотелось бы сделать все в одном запросе.
А нужно мне вытащить запись из reports_galleries (галереи), вместе с последней записью из reports (файлы галереи). Файлы галереи бывают нескольких типов (в данном случае это 'photos'). Типы файлов хранятся в reports_types.
Код:
SELECT
CONCAT(
'/photos/',
pgc.pg_cat_name,
'/'
) AS pg_cat_path,
pgc.pg_cat_title,
CONCAT(
'/photos/',
pgc.pg_cat_name,
'/',
pg.gallery_name,
'/'
) AS gallery_path,
pg.gallery_title,
pg.gallery_desc,
p.report_id,
p.report_num,
p.file_type,
p.report_preview,
UNIX_TIMESTAMP(pg.date_add) AS date_add,
DATE_FORMAT(pg.time_add, '%H:%i') AS time_add
FROM
reports_galleries AS pg
LEFT JOIN reports_galleries_cats AS pgc ON (pg.pg_cat_id = pgc.pg_cat_id)
LEFT JOIN reports_types AS pt ON (pgc.pg_cat_type = pt.type_id)
LEFT JOIN reports AS p ON (
p.report_status = 1 AND
p.report_id IN (SELECT MAX(p2.report_id) FROM reports AS p2 WHERE p2.gallery_id = pg.gallery_id)
)
WHERE
pg.gallery_status = 1 AND
pg.gallery_access = 0 AND
pgc.pg_cat_type = '1'
GROUP BY
pg.gallery_id
ORDER BY
pg.gallery_id DESC,
p.report_id DESC
Таблицы:
Код:
CREATE TABLE `reports` (
`report_id` int(11) NOT NULL auto_increment,
`report_num` int(11) NOT NULL default '0',
`report_status` tinyint(1) NOT NULL default '0',
`gallery_id` int(11) NOT NULL default '0',
`file_type` varchar(5) NOT NULL default '',
`report_preview` varchar(255) NOT NULL default '',
`report_views` bigint(20) NOT NULL default '0',
`rating` int(11) NOT NULL default '0',
`rating_voters` int(11) NOT NULL default '0',
`rating_vip` int(11) NOT NULL default '0',
`rating_voters_vip` int(11) NOT NULL default '0',
`comments_lock` tinyint(1) NOT NULL default '0',
`date_add` date NOT NULL default '0000-00-00',
`time_add` time NOT NULL default '00:00:00',
PRIMARY KEY (`report_id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
CREATE TABLE `reports_galleries` (
`gallery_id` int(11) NOT NULL auto_increment,
`type_id` int(11) NOT NULL default '0',
`pg_cat_id` int(11) NOT NULL default '0',
`place_id` int(11) NOT NULL default '0',
`user_id` int(11) NOT NULL default '0',
`photographer_id` int(11) NOT NULL default '0',
`photographer_name` varchar(100) NOT NULL default '',
`gallery_access` tinyint(1) NOT NULL default '0',
`gallery_pass` varchar(50) NOT NULL default '',
`gallery_status` tinyint(1) NOT NULL default '0',
`gallery_subscribe` tinyint(1) NOT NULL default '0',
`gallery_name` varchar(100) NOT NULL default '',
`gallery_title` varchar(100) NOT NULL default '',
`gallery_desc` text NOT NULL,
`email_lock` tinyint(1) NOT NULL default '0',
`comments_lock` tinyint(1) NOT NULL default '0',
`rating` int(11) NOT NULL default '0',
`rating_voters` int(11) NOT NULL default '0',
`date_add` date NOT NULL default '0000-00-00',
`time_add` time NOT NULL default '00:00:00',
PRIMARY KEY (`gallery_id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
CREATE TABLE `reports_galleries_cats` (
`pg_cat_id` int(11) NOT NULL auto_increment,
`pg_cat_type` tinyint(1) NOT NULL default '0',
`pg_cat_faces` tinyint(1) NOT NULL default '0',
`pg_cat_name` varchar(100) NOT NULL default '',
`pg_cat_title` varchar(100) NOT NULL default '',
PRIMARY KEY (`pg_cat_id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
CREATE TABLE `reports_types` (
`type_id` int(11) NOT NULL auto_increment,
`type_name` varchar(100) NOT NULL default '',
`type_title` varchar(100) NOT NULL default '',
`type_title_m` varchar(50) NOT NULL default '',
`file_title` varchar(100) NOT NULL default '',
`file_title_2` varchar(50) NOT NULL default '',
PRIMARY KEY (`type_id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
Сейчас при выполнении этого запроса сервер возвращает "You probably tried to upload too large file."
Структуру менять нельзя... и хотелось бы сделать все в одном запросе.
А нужно мне вытащить запись из reports_galleries (галереи), вместе с последней записью из reports (файлы галереи). Файлы галереи бывают нескольких типов (в данном случае это 'photos'). Типы файлов хранятся в reports_types.