2010-09-09 7 views
-1

Disons, par exemple, j'ai ce tableau:de comptage des sous-requêtes

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

Et je voulais créer une requête qui a créé une nouvelle ligne que pour chaque élément, elle interrogerait une autre table qui correspondait à l'identifiant, avec l'id dans l'autre table, définissez la ligne une autre ligne dans l'autre table.

+1

Que demandez-vous? Comment écrire une instruction Update en utilisant 'count' dans une sous-requête? –

+1

éditez votre question avec un exemple. –

+0

-1. Je suis désolé; cette question n'est pas très clairement énoncée – bernie

Répondre

0

Essayez quelque chose comme ceci:

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

Vous dites que vous voulez quelque chose comme "select id, titre, count (sélectionner x de uneautretable où otherTable.id = thisTable.id) comme new_rows de CetteTable"

Je pense que vous avez besoin d'une jointure groupée comme

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

ce serait le faire, je pense. Utilisez les jointures externes si otherTable ne peut pas avoir d'enregistrements référençant ce tableau.