shurman
Дата: 15.10.2003 12:15:06
UPDATE f SET f.[mess_cnt]=f.[mess_cnt]-ds.cnt
FROM forums AS f
INNER JOIN
(SELECT [id] AS tid, forum FROM events AS t
INNER JOIN
(SELECT [theme],count(*) AS cnt FROM deleted) AS ds
ON ds.[theme]=t.[id]) AS tm
ON f.[id]=tm.[forum]
Error: The column prefix 'ds' does not match with a table name or alias name in the query.
Некто
Дата: 15.10.2003 12:31:19
Это проблемы с форматированием, IMHO:
UPDATE f SET f.[mess_cnt]=f.[mess_cnt]-tm.cnt
FROM forums AS f
INNER JOIN ( SELECT [id] AS tid, forum , cnt
FROM events AS t
INNER JOIN (SELECT [theme],count(*) AS cnt FROM deleted) AS ds
ON ds.[theme]=t.[id]) AS tm
ON f.[id]=tm.[forum] |
|
Glory
Дата: 15.10.2003 12:40:01
2shurman
Интересно вы соединяете таблицы. Этот запрос написан вручную или сгенерирован может какой программой ?
shurman
Дата: 15.10.2003 12:42:10
Всё спасибо разобрался.....
shurman
Дата: 15.10.2003 12:44:29
А зпрос написан вручную, а не сгенерирован... :)
Glory
Дата: 15.10.2003 12:47:43
А зачем везде в соединениях используются подзапросы ??
Чем это вызвано ?
ЗЫ
Просто интересно.
Некто
Дата: 15.10.2003 12:52:47
2 shurman
А зпрос написан вручную, а не сгенерирован... :)
Китайским способом, небось? Copy - Paste ? :-))
shurman
Дата: 15.10.2003 13:00:30
Мошть и китайским, зато работает.... :))
А как попроще-то можно .... А?
Glory
Дата: 15.10.2003 13:17:01
Хотя бы так
UPDATE f SET f.[mess_cnt]=f.[mess_cnt]-tm.cnt
FROM forums AS f
INNER JOIN ( SELECT t.[id] AS tid, t.forum , count(*) AScnt
FROM events AS t
INNER JOIN deleted AS ds ON ds.[theme]=t.[id]
GROUP BY t.[id], t.forum ) AS tm
ON f.[id]=tm.[forum] |
|
shurman
Дата: 15.10.2003 13:34:07
Да... что-то в этом есть... будем работать.....