Tôi có một bảng Users
,sql động nhúng trong chọn truy vấn
╔════╦═══════╦══════╗ ║ Id ║ Name ║ Db ║ ╠════╬═══════╬══════╣ ║ 1 ║ Peter ║ DB1 ║ ║ 2 ║ John ║ DB16 ║ ║ 3 ║ Alex ║ DB23 ║ ╚════╩═══════╩══════╝
và nhiều cơ sở dữ liệu có cấu trúc tương tự (bảng tương tự, cùng một thủ tục, ...), do đó tất cả các cơ sở dữ liệu có một bảng tên Project
, và đây là cấu trúc của Project
bảng,
╔════╦═════════╦═════════════╗ ║ Id ║ Request ║ Information ║ ╠════╬═════════╬═════════════╣ ║ 1 ║ 126 ║ XB1 ║ ║ 2 ║ 126 ║ D6 ║ ║ 3 ║ 202 ║ BM-23 ║ ╚════╩═════════╩═════════════╝
Vì vậy, khi tôi truy vấn cơ sở dữ liệu:
SELECT count(distinct([Request])) as nbrRequests
FROM [SRV02].[DB1].[dbo].[Project]
tôi nhận được kết quả này:
╔═════════════╗ ║ NbrRequests ║ ╠═════════════╣ ║ 2 ║ ╚═════════════╝
Bây giờ, những gì tôi muốn là để "liên kết"/"tham gia" ... kết quả từ bảng Users
để truy vấn này, nơi cột Db
trong Users
bảng là tên cơ sở dữ liệu của tôi, vì vậy tôi có thể nhận được kết quả như sau:
╔════╦═══════╦══════╦═════════════╗ ║ Id ║ Name ║ Db ║ NbrRequests ║ ╠════╬═══════╬══════╬═════════════╣ ║ 1 ║ Peter ║ DB1 ║ 2 ║ ║ 2 ║ John ║ DB16 ║ 3 ║ ║ 3 ║ Alex ║ DB23 ║ 6 ║ ╚════╩═══════╩══════╩═════════════╝
Tôi đang cố gắng với SQL động, nhưng không có may mắn.
NB: Mỗi người sử dụng chỉ có một cơ sở dữ liệu, và một cơ sở dữ liệu thuộc về chỉ một người dùng, đó là one-to-one mối quan hệ
Có bất kỳ mối liên hệ giữa bảng yêu cầu và bảng người dùng khác với bảng yêu cầu cơ sở dữ liệu ific? Và nếu không, có nhiều người dùng trên mỗi cơ sở dữ liệu không và nếu có thì kết quả sẽ là gì? –
vui lòng chỉ định các quan hệ bảng và cách bạn mong đợi các truy vấn nbrrequests là 2,3,6 – TheGameiswar
Db là liên kết duy nhất và mỗi người dùng chỉ có một cơ sở dữ liệu và cơ sở dữ liệu chỉ thuộc về một người dùng. –