/ / Domande SQL relative al loop basato sui risultati: sql, sql-server, tsql

Domande SQL relative al ciclo basato sui risultati: sql, sql-server, tsql

Domanda newbie qui .. Voglio prendere i risultati di una query SELECT, che è 1 colonna che contiene 100 "s di ID" s ..

Usando questo ID, voglio quindi cercarne un altrocolonna in una tabella diversa per l'esistenza dell'ID e quindi conteggio del numero di occorrenze. Il risultato finale mi fornisce un elenco di tutti gli ID della prima query e il numero di occorrenze corrispondenti. "Un po 'bloccato sul passare i risultati di una query a un'altra ..

Ho qualcosa sulla falsariga di

 SELECT id From TABLE1
WHERE id IN (SELECT ID from TABLE2 WHERE ID EXISTS TABLE2.COLUMNNAME)
group by ID

Grazie, S

risposte:

1 per risposta № 1

Puoi provare questo approccio:

select T.ID, count(T1.ID) as [Count]
from
(your_first_select_query_here) as T
left outer join your_table as T1 on T1.ID = T.ID
group by T.ID

Innanzitutto, è necessario unire il primo risultato della query alla tabella di destinazione e quindi raggruppare per primo ID risultato calcolando il conteggio degli ID dalla tabella di destinazione.


0 per risposta № 2

Potrebbe essere necessario qualcosa di simile

Select id,Count(id) AS Id_Count From Table_2
Where id in(Select id from table_1)
group by id

0 per risposta № 3

Penso che questo sia quello che vuoi:

SELECT
Table1.ID,
COUNT(Table1.ID)
FROM Table1
INNER JOIN Table2
ON Table1.ID = Table2.ID
GROUP BY Table1.ID

0 per risposta № 4

Vuoi ottenere gli ID da table2. Quindi selezionare da tabella2. Per ogni record trovato tabella2 si desidera conteggiare i record corrispondenti in tabella1. Puoi farlo in una sottoquery nella tua clausola select:

select
id,
(select count(*) from table1 where table1.id_table2 = table2.id)
from table2
where ...