Вниз
Скачать: CL | DM;

Обновление с подсчетом в Аксесе   Найти похожие ветки 

 
msguns ©   (2004-11-08 16:25) [0]

Будье добры, подскажите !

Есть 2 таблицы:
M:

ID - Auto
Q  - Integer

D:
DID - Auto
ID  - Integer (->M)
...

В поле M.Q надо записать кол-во строк таблицы D по ключу связи

Запрос
UPDATE M INNER JOIN D ON (M.ID = D.ID)
 SET M.Q=(SELECT COUNT(DID) FROM D WHERE M.ID = D.ID);
не проходит. Ругается, что запрос якобы не на обновление

Запрос
UPDATE M
 SET Q=(SELECT COUNT(DID) FROM D,M WHERE M.ID = D.ID);
тоже не катит.


 
Соловьев ©   (2004-11-08 17:50) [1]

2 запроса:
1. Запрос создает таблицу :
SELECT id AS qid, count(id) AS qq INTO temp
FROM d
GROUP BY id;

2. Заносит данные:
UPDATE temp INNER JOIN m ON temp.qid=m.id SET m.q = [qid];


 
msguns ©   (2004-11-08 18:06) [2]

>Соловьев ©   (08.11.04 17:50) [1]

А одним никак ? Типа как в IB ?


 
Соловьев ©   (2004-11-09 10:45) [3]


update m
set q = dcount("*","d", "d.id = " & cstr(m.id))


 
msguns ©   (2004-11-09 12:07) [4]

>Соловьев ©   (09.11.04 10:45) [3]

КРУТО !!!

А где можно почитать обо всех этих dcount, cstr и т.д. ?


 
Соловьев ©   (2004-11-09 12:10) [5]

jetsql40.hlp
www.msdn.com



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.025 c
6-1095353804
parrr
2004-09-16 20:56
2004.12.05
WHO IS


14-1100248365
Григорьев Антон
2004-11-12 11:32
2004.12.05
Пятничная головоломка по Delphi


3-1099463364
Sour
2004-11-03 09:29
2004.12.05
MySQL


4-1098363879
-=SS=-
2004-10-21 17:04
2004.12.05
Как програмно изменить локализацию настроек ОС


14-1100374186
Dima1
2004-11-13 22:29
2004.12.05
пиктограмки у Microsoft Office 2003




   Наверх