[英]select data from two tables using simple sql query
如果我有以下查詢
if not exists(select * from DeliveryTemplate where TemplateId=2)
begin
select usersCode, 1,2,'User {UsersCode}',' hello {Username},', null
from User
end
我如何擴展此查詢,以便從DeliveryTemplate
表中再選擇一個列DeliveryCode
?
因此,您需要使用JOIN
類的方法:
if not exists(select * from DeliveryTemplate where TemplateId=2)
begin
select u.usersCode, 1,2,'User {UsersCode}',' hello {Username},', null, dt.DeliveryCode
from User u
left join DeliveryTemplate dt on u.Id = dt.UserId
end
declare @count int
declare @DeliveryCode nvarchar(100)
select @count = count(*),
@DeliveryCode = DeliveryCode
from DeliveryTemplate
where TemplateId=2
if @count = 0
begin
select usersCode,
1,
2,
'User {UsersCode}',
'hello {Username},',
null,
@DeliveryCode AS 'DeliveryCode'
from User
end
應該使用INNER JOIN進行以下操作:
SELECT usersCode, 1,2,'User {UsersCode}',' hello {Username},', null, DeliveryCode
FROM User
INNER JOIN DeliveryTemplate ON User.ID=DeliveryTemplate.UserId
WHERE TemplateId=2
if not exists(select * from DeliveryTemplate where TemplateId=2)
begin
select usersCode, 1,2,'User {UsersCode}',' hello {Username},', null, DeliveryCode
from User AS u
INNER JOIN DeliveryTemplate AS d
ON u.ID = d.UserID
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.