[英]How can I get a column from another table in SQL Server?
我有兩個表,客戶和文件。
客戶的表定義如下:
ID | NAME | ADDRESS | TELEPHONE
112 | EXAMPLE | ABC#123 | 85548484
115 | WOAH! | ABC#123 | 85548484
和文檔的表是這樣的:
ID|Number|ClientID|Total
1 | 363 | 112 | 25000
2 | 364 | 112 | 24000
3 | 365 | 115 | 21000
如何在不使用 INNER JOIN 的情況下獲得這樣的結果?:
ID|Number|ClientID|Total| NAME | ADDRESS | TELEPHONE
1 | 363 | 112 |25000| EXAMPLE | ABC#123 | 85548484
2 | 364 | 112 |24000| EXAMPLE | ABC#123 | 85548484
3 | 365 | 115 |21000| WOAH! | ABC#123 | 85548484
我試過
Select Documents.*,
(Select *from Clients where DOcuments.ClientID = Clients.ID )
FROM Documents
但我得到了錯誤的結果..
謝謝!
您可以使用apply
:
select d.*, c.name, c.address, c.telephone
from documents d cross apply
(select c.*
from clients c
where d.clientid = c.id
) c;
您還可以使用left join
:
select d.*, c.name, c.address, c.telephone
from documents d left join
clients c
on d.clientid = c.id;
或使用full join
或right join
或outer apply
類似構造。 inner join
的限制很奇怪。
編輯:
如果您想保留所有客戶,即使是那些沒有文件的客戶:
select d.*, c.name, c.address, c.telephone
from clients c left join
documents d
on d.clientid = c.id;
嘗試:
選擇 D. , C。 從文檔 d 離開加入客戶 c on c.clientId = d.clientId -- 添加您選擇的 where 子句和 order by 子句
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.