简体   繁体   English

使用简单的SQL查询从两个表中选择数据

[英]select data from two tables using simple sql query

If I have following query 如果我有以下查询

if not exists(select * from DeliveryTemplate where TemplateId=2)
                begin                                       
                    select usersCode, 1,2,'User {UsersCode}',' hello {Username},', null 
                    from User
                end

how can I extend this query in order to select one more column DeliveryCode from DeliveryTemplate table? 我如何扩展此查询,以便从DeliveryTemplate表中再选择一个列DeliveryCode

So you need to use JOIN something like: 因此,您需要使用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

This should be done as follows with INNER JOIN: 应该使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM