Ho una tabella Users
,SQL dinamico incorporato nella query di selezione
╔════╦═══════╦══════╗ ║ Id ║ Name ║ Db ║ ╠════╬═══════╬══════╣ ║ 1 ║ Peter ║ DB1 ║ ║ 2 ║ John ║ DB16 ║ ║ 3 ║ Alex ║ DB23 ║ ╚════╩═══════╩══════╝
e molti database che hanno la stessa struttura (tabelle stesse, stesse procedure, ...), in modo da tutti i database hanno una tabella denominata Project
, e questa è la struttura della tabella Project
,
╔════╦═════════╦═════════════╗ ║ Id ║ Request ║ Information ║ ╠════╬═════════╬═════════════╣ ║ 1 ║ 126 ║ XB1 ║ ║ 2 ║ 126 ║ D6 ║ ║ 3 ║ 202 ║ BM-23 ║ ╚════╩═════════╩═════════════╝
Così, quando ho interrogare un database:
SELECT count(distinct([Request])) as nbrRequests
FROM [SRV02].[DB1].[dbo].[Project]
ottengo questo risultato:
╔═════════════╗ ║ NbrRequests ║ ╠═════════════╣ ║ 2 ║ ╚═════════════╝
Ora, quello che voglio è quello di "link"/"join" ... i risultati dalla tabella Users
a questa domanda, in cui la colonna Db
in Users
tabella è il nome del mio database, quindi posso ottenere un risultato simile al seguente:
╔════╦═══════╦══════╦═════════════╗ ║ Id ║ Name ║ Db ║ NbrRequests ║ ╠════╬═══════╬══════╬═════════════╣ ║ 1 ║ Peter ║ DB1 ║ 2 ║ ║ 2 ║ John ║ DB16 ║ 3 ║ ║ 3 ║ Alex ║ DB23 ║ 6 ║ ╚════╩═══════╩══════╩═════════════╝
Sto provando con SQL dinamico, ma senza fortuna.
NB: Ogni utente ha un solo database, e un database appartengono a un solo utente, è uno-a-uno
Esiste un legame tra la tabella delle richieste e la tabella utente diversa da quella su una specifica un database? E se no, c'è più di un utente per database, e se sì quali sarebbero i risultati? –
specificare le relazioni tra tabelle e il modo in cui ci si aspetta nrrequest come 2,3,6 – TheGameiswar
Db è l'unico collegamento e ogni utente ha un solo database e un database appartiene a un solo utente. –