C# wykonanie SELECT i następnie sprawdzanie w pętli foreach

0

Witam,
Chciałbym wykonać następującą operację w C#:

  1. Pobieram w aplikacji przy pomocy zapytania SELECT z bazy potrzebne dane:
SELECT NAZWA FROM TABELA1

Mamy załóżmy teraz 3 wiersze z wynikami.
2. W tym kroku przy pomocy pętli foreach chciałbym do drugiego SELECT podstawić każdy wynik z SELECT w pkt.1 w odpowiednim miejscu
3. Pokazać wynik

Ma ktoś pomysł jak ta pętla powinna wyglądać ???

0

Ty chcesz miec jakies select (...) from (...) where foo in (res1, res2, ... resN)?

0

Najlepiej to chyba jakiegoś joina zrobić

0
SELECT B.NAZWA_FIRMY,D.NR_BUDYNKU, C.NAZWA_KONTRAHENTA, 
E.WYSOKOSC_CZYNSZU_NETTO, A.DATA_OD, A.DATA_DO 
FROM [BAZA1].dbo.[UMOWY] AS A 
INNER JOIN [BAZA1].dbo.[FIRMA] AS B
ON A.ID_FIRMY = B.ID_FIRMY
INNER JOIN [BAZA1].dbo.[KONTRAHENT] AS C
ON A.ID_KONTRAHENTA = C.ID_KONTRAHENTA
INNER JOIN [BAZA1].dbo.[BUDYNEK] AS D
ON A.ID_BUDYNKU = D.ID_BUDYNKU
INNER JOIN [BAZA1].dbo.[CZYNSZ] AS E
ON E.ID_CZYNSZU = A.ID_CZYNSZU
WHERE datepart(mm,A.DATA_DO) =month(getdate())
and datepart(yyyy,A.DATA_DO) =year(getdate()) AND A.UMOWA = 0

UNION ALL

Pierwszy SELECT pobiera wszystkie NAZWY baz danych, następnie pętla foreach musi zbudować na podstawie tych nazwa zapytanie do nich i wynik pokazać jako jeden. Normalnie zrobił był to w SQL jako UNION ALL, ale bazy będą przyrastać, a ja nie chcę zapytania za każdym razem zmieniać (rozbudowywać).

Czyli każda nazwa z pierwszego SELECT musi być podstawiana w drugim SELECT w miejscu [BAZA1]

Ma ktoś pomysł ???

1

@stivens ma dobry przykład ale takie operacje można zrobić bez pętli w w programie:

select * from tabelea where nazwa in (SELECT NAZWA FROM TABELA1)
0

Ma ktoś pomysł na tą pętlę, żeby te dane się podstawiały jak wyżej opisałem ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1