Dzięki za pomoc, ale próbuje próbuje i coś mi nie idzie.
Rozumiem, że powinienem zrobić zapytanie do głównej tabeli a później podstawić wyniki pod drugie zapytanie. Na razie stworzyłem coś takiego.
SqlConn.Open()
Dim bCmd AS SqlCommand = New SqlCommand("", SqlConn)
bCmd.CommandText = "Select TName From GodzHala1"
Dim R AS SqlDataReader = bCmd.ExecuteReader
Dim tab = New List(Of String)
While R.READ()
tab.ADD(R("TName").ToString)
End While
R.Close()
Dim command AS SqlCommand = New SqlCommand("", SqlConn)
command.CommandText = "Select * From @tab"
command.Parameters.AddWithValue("@tab", String.JOIN("|", tab))
Dim rowsAffected AS Integer = command.ExecuteNonQuery()
MsgBox("Rows: {0}", rowsAffected)
SqlConn.Close()
Jakieś jeszcze wskazówki?
Co do struktury danych to wygląda to tak:
- mam tabele ze zleceniami (docelowo kilka tysięcy), w których mam listę zleceń wraz z dodatkowymi danymi,
- nad każdym zleceniem może pracować kilka działów firmy,
- każdy dział musi zliczań dzienny nakład pracy na każde zlecenie,
- muszę znać miesięczną oraz sumaryczną liczbę godzin na każde zlecenie,
Na razie wymyśliłem dwa sposoby:
1) tabele główne dla każdego działu z listami tabel, które zawierające raporty miesięczne, każda tabela z raportami ma kolumny z dniami miesiąca, a rekordami byłyby zlecenia,
2) tabele dla każdego zlecenia, gdzie kolumnami byłyby nazwy działów, a rekordy to nazwy dni,
Drugie rozwiązanie jest prostsze, ale pierwsze łatwiej prezentuje miesięczny raport godzin z poszczególnych dni dla każdego zlecenia.
Chyba, że jest jeszcze jakieś inne dobre rozwiązanie, które mi nie przyszło do głowy.