/ / SQL Pytania dotyczące pętli na podstawie wyników - sql, sql-server, tsql

Pytania SQL dotyczące pętli na podstawie wyników - sql, sql-server, tsql

Pytanie do Newbie tutaj. Chcę pobrać wyniki zapytania SELECT, które jest 1 kolumną zawierającą 100 "s identyfikatorów.

Używając tego identyfikatora, chcę przeszukać innykolumna w innej tabeli na istnienie ID, a następnie policzyć liczbę wystąpień. Końcowy wynik daje mi listę wszystkich identyfikatorów z pierwszego zapytania i liczbę dopasowanych wystąpień. "ma trochę utknął w przekazywaniu wyników jednego zapytania do drugiego ..

Mam coś na kształt linii

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

Dzięki, S

Odpowiedzi:

1 dla odpowiedzi № 1

Możesz spróbować tego podejścia:

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

Najpierw powinieneś dołączyć do pierwszego wyniku zapytania z tabelą docelową, a następnie pogrupować według liczby pierwszych identyfikatorów rezultatów z tabeli docelowej.


0 dla odpowiedzi nr 2

Może potrzebujesz czegoś takiego

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

0 dla odpowiedzi № 3

Myślę, że tego właśnie chcesz:

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

0 dla odpowiedzi nr 4

Chcesz uzyskać identyfikatory z table2. Wybierz więc z tabeli2. Dla każdego znalezionego rekordu table2 chcesz policzyć pasujące rekordy w table1. Możesz to zrobić w podzapytaniu w klauzuli select:

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