#1 2010.03.20 11:33

Fuelen
Участник
Зарегистрирован: 2009.06.22
Сообщений: 229
Карма: 5
Профиль

Обьединение запросов

Код:

1
span style="color: #0000BB"><?php$q = mysql_query('SELECT * FROM `table`');while($row = mysql_fetch_assoc($q)){echo mysql_result(mysql_query('SELECT COUNT(*) FROM `table2` WHERE `tags` LIKE "%'.$row['name'].'%"'),0);}

Как обьединить эти 2 запроса, чтобы при выводе в ячейке counter было значение второго запроса и в результате было примерно такое

Код:

1
span style="color: #0000BB"><?php$q = mysql_query('???');while($row = mysql_fetch_assoc($q)){echo $row['counter'];}

? В таблице table поля counter нет


на хую вас вертів

Неактивен

#2 2010.03.20 12:14

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Обьединение запросов

Код:

1
2
3
4
SELECT `t1`.`name`, COUNT(`t2`.`tags`) AS `count`
FROM `table` AS `t1`
INNER JOIN `table2` AS `t2` ON `t2`.`tags` LIKE CONCAT("%", `t1`.`name`, "%")
GROUP BY `t1`.`name`

Неактивен

#3 2010.03.20 14:45

Fuelen
Участник
Зарегистрирован: 2009.06.22
Сообщений: 229
Карма: 5
Профиль

Re: Обьединение запросов

Спасибо smile


на хую вас вертів

Неактивен

#4 2010.03.30 13:23

Fuelen
Участник
Зарегистрирован: 2009.06.22
Сообщений: 229
Карма: 5
Профиль

Re: Обьединение запросов

Но у меня ничего не выводит гг


на хую вас вертів

Неактивен

#5 2010.03.30 13:54

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Обьединение запросов

охуенный фидбэк smile

Неактивен

#6 2010.04.03 10:50

Fuelen
Участник
Зарегистрирован: 2009.06.22
Сообщений: 229
Карма: 5
Профиль

Re: Обьединение запросов

Array ( [0] => 42000 [1] => 1305 [2] => FUNCTION fuelen_db.CONCAT does not exist )


на хую вас вертів

Неактивен

#7 2010.04.03 11:09

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Обьединение запросов

Эммм.. похоже на PDO. А какая СУБД используется? MySQL? CONCAT есть в MySQL с древних времен.

Неактивен

#8 2010.04.03 12:28

Fuelen
Участник
Зарегистрирован: 2009.06.22
Сообщений: 229
Карма: 5
Профиль

Re: Обьединение запросов

Да, PDO MySQL


на хую вас вертів

Неактивен

#9 2010.04.03 12:33

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Обьединение запросов

покажи сам php код в который этот SQL вставляется

Неактивен

#10 2010.04.03 13:17

Fuelen
Участник
Зарегистрирован: 2009.06.22
Сообщений: 229
Карма: 5
Профиль

Re: Обьединение запросов

Код:

1
span style="color: #0000BB"><?phpforeach($db->query('SELECT `t1`.*, COUNT(`t2`.`tags`) AS `count` FROM `categories` AS `t1` INNER JOIN `articles` AS `t2` ON `t2`.`tags` LIKE CONCAT ("%", `t1`.`name`, "%") GROUP BY `t1`.`name`') as $row){print_r($row);}print_r($db->errorInfo());

Отредактировано Fuelen (2010.04.03 13:19)


на хую вас вертів

Неактивен

#11 2010.04.03 13:29

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Обьединение запросов

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
CREATE TABLE IF NOT EXISTS `articles` (
`id` int(11) NOT NULL,
`tags` varchar(255) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
 
INSERT INTO `articles` (`id`, `tags`) VALUES
(1, 'xxx'),
(2, 'yyy');
 
CREATE TABLE IF NOT EXISTS `categories` (
`id` int(11) NOT NULL,
`name` varchar(255) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
 
INSERT INTO `categories` (`id`, `name`) VALUES
(1, 'xxx'),
(2, 'zzz');

Код:

1
span style="color: #0000BB"><?php$db = new PDO('mysql:host=localhost;port=3306;dbname=test', 'root', '');$sql = 'SELECT `t1`.*, COUNT(`t2`.`tags`) AS `count`FROM `categories` AS `t1`INNER JOIN `articles` AS `t2` ON `t2`.`tags` LIKE CONCAT("%", `t1`.`name`, "%")GROUP BY `t1`.`name`';foreach($db->query($sql) as $row){ print_r($row);}

Код:

1
2
3
4
5
6
7
8
9
Array
(
[id] => 1
[0] => 1
[name] => xxx
[1] => xxx
[count] => 1
[2] => 1
)

Неактивен

#12 2010.04.03 14:10

Fuelen
Участник
Зарегистрирован: 2009.06.22
Сообщений: 229
Карма: 5
Профиль

Re: Обьединение запросов

Фигня какая-то... Всё не как в людей sad
В процедурном стиле всё нормально выводит... Ппц

Код:

1
span style="color: #0000BB"><?php$q = mysql_query('SELECT `t1`.*, COUNT(`t2`.`tags`) AS `count` FROM `categories` AS `t1` INNER JOIN `articles` AS `t2` ON `t2`.`tags` LIKE CONCAT("%", `t1`.`name`, "%") GROUP BY `t1`.`name`');while($row = mysql_fetch_assoc($q)){ print_r($row);}

Добавлено спустя   6 минут  32 секунды:
Пойду плакать %) ыЫ


на хую вас вертів

Неактивен

#13 2010.04.03 17:05

Fuelen
Участник
Зарегистрирован: 2009.06.22
Сообщений: 229
Карма: 5
Профиль

Re: Обьединение запросов

Всё заработало. Спасибо smile


на хую вас вертів

Неактивен

#14 2010.04.03 18:58

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Обьединение запросов

в чем дело было?

Неактивен

#15 2010.04.03 19:57

Fuelen
Участник
Зарегистрирован: 2009.06.22
Сообщений: 229
Карма: 5
Профиль

Re: Обьединение запросов

Не знаю smile мне кажется, что через то, что я в запросе энтэры на пробелы заменил Гг


на хую вас вертів

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.014 s