Я пытаюсь ВЫБРАТЬ два значения в одном утверждении вместо двух утверждений. Первое утверждение подсчитывает, сколько заявок выиграно за конкретный конкурс с идентификатором 18. Второе утверждение подсчитывает общее количество призов за этот конкурс.
Запрос 1:
SELECT
COUNT(*) FROM entries
WHERE entries.contest=18
AND entries.won=1
Запрос 2
SELECT SUM( quantity ) FROM prizes WHERE contest=18
Я хочу иметь и то, и другое, чтобы я мог сравнить их на стороне сервера и действовать в соответствии с этим сравнением. Итак, если бы у нас было 3 участника, которые выиграли 18-й конкурс, а общее количество призов за 18-й конкурс - 5, сделай что-нибудь ...
Схема:
CREATE TABLE `entries` (
`id` int(2) unsigned NOT NULL auto_increment,
`message_id` bigint(8) unsigned default NULL,
`user` int(2) unsigned default NULL,
`username` varchar(50) NOT NULL,
`contest` int(2) unsigned default NULL,
`message` text,
`icon` text,
`twitter_url` text,
`follower` int(2) unsigned default NULL,
`entry_date` timestamp NOT NULL default '0000-00-00 00:00:00',
`won` int(1) default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8
CREATE TABLE `prizes` (
`id` int(2) unsigned NOT NULL auto_increment,
`name` varchar(25) NOT NULL,
`contest` int(2) NOT NULL,
`quantity` int(2) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8
Таблицы users
нет, потому что я контролирую записи, и я почти уверен, что не получу дубликатов, поэтому имя пользователя и т. Д. Сохраняется для строки ввода.