Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 条件SQL Server查询_Sql Server - Fatal编程技术网

Sql server 条件SQL Server查询

Sql server 条件SQL Server查询,sql-server,Sql Server,我需要将一些数据从一个数据库移动到另一个数据库,但由于布局不同,我需要添加一个条件: 如果Genderbit==1(来自CRM.dbo.Person),则应在ewa.Ansprechpartner.Gender中插入字符串'M',否则应使用字符串'F' USE easyWinArtTest GO INSERT INTO ewa.Ansprechpartner(Vorname, Nachname, Email, Telefon, Telefax, Gender) SELECT Forena

我需要将一些数据从一个数据库移动到另一个数据库,但由于布局不同,我需要添加一个条件:

如果Genderbit==1
(来自
CRM.dbo.Person
),则应在
ewa.Ansprechpartner.Gender
中插入字符串
'M'
,否则应使用字符串
'F'

USE easyWinArtTest
GO

INSERT INTO ewa.Ansprechpartner(Vorname, Nachname, Email, Telefon, Telefax, Gender)
   SELECT Forename, Surname, EMailAddress, Phone, Fax, [genderbit]
   FROM CRM.dbo.Person
SQL Server是如何做到这一点的?

尝试以下方法:

INSERT INTO ewa.Ansprechpartner(Vorname, Nachname, Email, Telefon, Telefax, Gender)
   SELECT 
       Forename, Surname, EMailAddress, Phone, Fax,
       CASE [genderbit]
          WHEN 1 THEN 'M'
          ELSE 'F'
       END
   FROM 
       CRM.dbo.Person

使用基于
Genderbit
列的
CASE
语句-如果它是
1
,则使用
M
插入,否则
F

您可以在select查询中使用CASE语句进行条件替换,如下所示:

USE easyWinArtTest
GO

INSERT INTO ewa.Ansprechpartner(Vorname, Nachname, Email, Telefon, Telefax, Gender)
SELECT Forename, Surname, EMailAddress, Phone, Fax,Case when genderbit = 1 then 'M' else 'F' end
FROM CRM.dbo.Person

@8610510697121107117110997114:几十年的实践:-)