Задавайте вопросы, мы ответим
Вы не зашли.
Есть 2 таблицы :
CREATE TABLE IF NOT EXISTS `poll` ( `id` int(11) NOT NULL auto_increment, `question` varchar(255) collate utf8_unicode_ci NOT NULL, `status` int(11) NOT NULL, PRIMARY KEY (`id`) ) ; CREATE TABLE IF NOT EXISTS `pollrow` ( `id` int(11) NOT NULL auto_increment, `poll_id` int(11) NOT NULL, `answer` varchar(255) collate utf8_unicode_ci NOT NULL, `vote` int(11) NOT NULL default '0', PRIMARY KEY (`id`), KEY `poll_id` (`poll_id`) ) ;
Делаю запос:
SELECT * FROM pollrow INNER JOIN poll ON pollrow.poll_id = poll.id WHERE poll.status = 1
Результат:
Array ( [0] => Array ( [id] => 1 [poll_id] => 1 [answer] => 1 [vote] => 0 [question] => Сколько будет 2+2 ? [status] => 1 ) [1] => Array ( [id] => 1 [poll_id] => 1 [answer] => 2 [vote] => 0 [question] => Сколько будет 2+2 ? [status] => 1 ) [2] => Array ( [id] => 1 [poll_id] => 1 [answer] => 3 [vote] => 0 [question] => Сколько будет 2+2 ? [status] => 1 ) [3] => Array ( [id] => 1 [poll_id] => 1 [answer] => 4 [vote] => 0 [question] => Сколько будет 2+2 ? [status] => 1 ) )
Проблема в том, что id везде равно 1 (pollrow.id)
Помогите составить запрос, чтобы результат был:
Array ( [0] => Array ( [id] => 1 [poll_id] => 1 [answer] => 1 [vote] => 0 [question] => Сколько будет 2+2 ? [status] => 1 ) [1] => Array ( id] => 2 [poll_id] => 1 [answer] => 2 [vote] => 0 [question] => Сколько будет 2+2 ? [status] => 1 ) [2] => Array ( [id] => 3 [poll_id] => 1 [answer] => 3 [vote] => 0 [question] => Сколько будет 2+2 ? [status] => 1 ) [3] => Array ( [id] => 4 [poll_id] => 1 [answer] => 4 [vote] => 0 [question] => Сколько будет 2+2 ? [status] => 1 ) )
Неактивен
Проблема в том, что у Вас просто пересекаются названия полей.
SELECT *, pollrow.id AS pid FROM pollrow
INNER JOIN poll
ON pollrow.poll_id = poll.id
WHERE poll.status = 1
Неактивен