Bạn có thể sử dụng Union.
Điều này sẽ trả lại kết quả của các truy vấn trong các hàng riêng biệt.
Trước tiên, bạn phải đảm bảo rằng cả hai truy vấn đều trả về các cột giống nhau.
Sau đó, bạn có thể làm:
SELECT tableA.Id, tableA.Name, [tableB].Username AS Owner, [tableB].ImageUrl, [tableB].CompanyImageUrl, COUNT(tableD.UserId) AS Number
FROM tableD
RIGHT OUTER JOIN [tableB]
INNER JOIN tableA ON [tableB].Id = tableA.Owner ON tableD.tableAId = tableA.Id
GROUP BY tableA.Name, [tableB].Username, [tableB].ImageUrl, [tableB].CompanyImageUrl
UNION
SELECT tableA.Id, tableA.Name, '' AS Owner, '' AS ImageUrl, '' AS CompanyImageUrl, COUNT([tableC].Id) AS Number
FROM
[tableC]
RIGHT OUTER JOIN tableA ON [tableC].tableAId = tableA.Id GROUP BY tableA.Id, tableA.Name
Như đã đề cập, cả hai truy vấn trả về dữ liệu hoàn toàn khác nhau. Bạn có thể chỉ muốn làm điều này nếu cả hai truy vấn trả về dữ liệu có thể được coi là tương tự.
SO
Bạn có thể sử dụng một tham
Nếu có một số dữ liệu được chia sẻ giữa hai truy vấn. Điều này sẽ đưa các kết quả của cả hai truy vấn vào một hàng duy nhất sự tham gia của các id, mà có lẽ nhiều hơn những gì bạn muốn được làm gì ở đây ...
Bạn có thể làm:
SELECT tableA.Id, tableA.Name, [tableB].Username AS Owner, [tableB].ImageUrl, [tableB].CompanyImageUrl, COUNT(tableD.UserId) AS NumberOfUsers, query2.NumberOfPlans
FROM tableD
RIGHT OUTER JOIN [tableB]
INNER JOIN tableA ON [tableB].Id = tableA.Owner ON tableD.tableAId = tableA.Id
INNER JOIN
(SELECT tableA.Id, COUNT([tableC].Id) AS NumberOfPlans
FROM [tableC]
RIGHT OUTER JOIN tableA ON [tableC].tableAId = tableA.Id
GROUP BY tableA.Id, tableA.Name) AS query2
ON query2.Id = tableA.Id
GROUP BY tableA.Name, [tableB].Username, [tableB].ImageUrl, [tableB].CompanyImageUrl
... tại sao bạn muốn kết hợp chúng? –
Bạn muốn làm điều gì đó với hai truy vấn, nhưng không thể đoán được điều gì; 'kết hợp' là nhiều để mơ hồ. – Smandoli
Truy vấn đầu tiên của bạn sẽ đưa ra một lỗi: 'Cột 'tableA.Id' không hợp lệ trong danh sách chọn vì nó không được chứa trong hàm tổng hợp hoặc mệnh đề GROUP BY.' –