|
|
|
| у меня есть табличка ref с ПК code мне туда нужно добавить поле ref_count... добавил: ref_count INT(6) DEFAULT 0..
Есть другая табличка ref_stat с ВК code..
можно мне в табличке ref одним запросом установить значение поля ref_count как число записей в табличке ref_stat -- что то вроде этого SELECT count(*) FROM ref_stat WHERE ref_stat.code = ref.code?
Подскажите пожалуйста как это сделать? Или придется написать всё таки небольшорй скрипт который это все будет делать для каждой записи отдельно? | |
|
|
|
|
|
|
|
для: _Dreamer_
(27.11.2006 в 10:45)
| | Сделать-то можно... да только ничего, кроме вреда, это не принесет.
UPDATE ref JOIN
(SELECT code, COUNT(*) AS cnt
FROM ref JOIN ref_stat USING ( code )
GROUP BY (code)
) AS t2
USING ( code )
SET ref.ref_count = cnt
|
| |
|
|
|
|
|
|
|
для: Trianon
(27.11.2006 в 11:07)
| | Наверно для MySQL такое объединение не катит... у меня пишет
You have an error in your SQL syntax near 'INNER JOIN (SELECT code, COUNT(*) AS cnt FROM ref JOIN ref_stat USING ( ' at line 1
|
но я уже всё таки решил сделать маленький скрипт...
$result = mysql_query("SELECT code FROM ref_stat GROUP BY code");
while ($row = mysql_fetch_row($result))
{
list($code) = $row;
list($ref_hits) = mysql_fetch_row(mysql_query("SELECT count(*) FROM ref_stat WHERE code = '$code'"));
mysql_query("UPDATE ref SET ref_hits = $ref_hits");
}
|
просто если в табличке было не тысяча другая записей, нужно было бы всякие LIMIT использовать и переадресацию на этот скрипт делать, потому что 30 сек. не хватило бы | |
|
|
|
|
|
|
|
для: _Dreamer_
(27.11.2006 в 10:45)
| | Попробуйте так:
update ref set ref_count =
(select count(*) from ref_stat where ref.code = ref_stat.code); | |
|
|
|
|
|
|
|
для: AlexelA
(27.11.2006 в 11:38)
| | Спасибо, но так тоже не получается...
You have an error in your SQL syntax near SELECT....
|
В принципе для меня это уже не проблема -- использовал другое решение, просто интересно можно ли вообще так делать, было бы не плохо если да :) | |
|
|
|
|
|
|
|
для: _Dreamer_
(27.11.2006 в 11:48)
| | Странно, но на MySQL 5.0.15 все работает без ошибок | |
|
|
|
|
|
|
|
для: AlexelA
(27.11.2006 в 11:52)
| | ок, буду знать и как будет время поменяю у себя на локальном mysql - поставлю поновее | |
|
|
|