2010-09-09 5 views
-1

Скажем, например, у меня есть эта таблица:Подсчёт подзапросов

Items: 
------- 
id 
title 
price 

И я хотел бы создать запрос, который создал новую строку, что для каждого элемента, он будет запрашивать другую таблицу, которая соответствовала идентификатор, с идентификатором в другой таблице, установите строку другой строки в другой таблице.

+1

Что вы спрашиваете? Как написать заявление обновления с помощью 'count' в подзапросе? –

+1

отредактируйте ваш вопрос с примера. –

+0

-1. прости; этот вопрос не очень четко сформулирован – bernie

ответ

0

Попробуйте что-то вроде этого:

select 
    ThisTable.id, 
    title, 
    price, 
    other_count 
from 
(
    select 
     id, 
     count(*) as other_count 
    from OtherTable 
    group by id 
) OtherTableCount 
    inner join ThisTable 
     on ThisTable.id = OtherTable.id 
0

Вы говорите, что вы хотите что-то вроде "выберите идентификатор, название, COUNT (выбрать х из otherTable где otherTable.id = thisTable.id), как new_rows из thisTable"

Я думаю, что вам нужно группироваться присоединиться как

select 
    id, 
    title, 
    count(*) 
from 
    thisTable, 
    otherTable 
where 
    (otherTable.foreignRefKey = thisTable.id) 
group by 
    id, 
    title 

что бы сделать это, я думаю. Использовать внешние соединения, если у otherTable нет записей, ссылающихся на эту таблицу

Смежные вопросы