Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.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
Python 如何在SQL中进行内部联接时添加带条件的常量列_Python_Sql Server - Fatal编程技术网

Python 如何在SQL中进行内部联接时添加带条件的常量列

Python 如何在SQL中进行内部联接时添加带条件的常量列,python,sql-server,Python,Sql Server,我有两个表table1和table2,在bot表中有ID 我希望有基于表2 ID的目标列,加入时,如果两个表中都有ID,我需要为目标添加1,否则为0 SELECT a.*,b.* , target as (CASE WHEN b.client_id THEN 1 ELSE 0 END ) FROM table1 a WITH (NOLOCK) INNER JOIN table2 b WITH (NOLOCK) ON a.ID = b.client_id 我在熊猫身上做到了这一点 table

我有两个表table1和table2,在bot表中有ID

我希望有基于表2 ID的目标列,加入时,如果两个表中都有ID,我需要为目标添加1,否则为0

SELECT a.*,b.* , target as (CASE WHEN b.client_id THEN 1 ELSE 0 END )
 FROM table1 a WITH (NOLOCK)
INNER JOIN table2 b WITH (NOLOCK) ON a.ID = b.client_id 
我在熊猫身上做到了这一点

table2_list = table2['client_id'].tolist()

table1['target'] = table1['ID'].apply(lambda x : 1 if x in table2_list else 0)


条件应为布尔值的情况,如b.client_id>0 列目标可能是

。。。作为[目标] 或 [目标]=

选择1作为ID,“C-1”作为C1 进入t1; 选择1作为客户端id,“C-2”作为C2 进入t2; 挑选* ,当b.client_id>0时,则1或0结束为[target] 从t1 a到NOLOCK 内部连接t2 b和NOLOCK a.ID=b.client_ID; -或 挑选* ,[target]=当b.client_id>0然后1 ELSE 0结束时的情况 从t1 a到NOLOCK 内部连接t2 b和NOLOCK a.ID=b.client_ID;
条件应为布尔值的情况,如b.client_id>0 列目标可能是

。。。作为[目标] 或 [目标]=

选择1作为ID,“C-1”作为C1 进入t1; 选择1作为客户端id,“C-2”作为C2 进入t2; 挑选* ,当b.client_id>0时,则1或0结束为[target] 从t1 a到NOLOCK 内部连接t2 b和NOLOCK a.ID=b.client_ID; -或 挑选* ,[target]=当b.client_id>0然后1 ELSE 0结束时的情况 从t1 a到NOLOCK 内部连接t2 b和NOLOCK a.ID=b.client_ID;
根据定义,有一个你不知道的内部连接。尝试左联接并检查是否为空

SELECT a.*,b.* , target as (CASE WHEN b.client_id is NUll THEN 0 ELSE 1 END )
 FROM table1 a WITH (NOLOCK)
LEFT JOIN table2 b WITH (NOLOCK) ON a.ID = b.client_id 

根据定义,有一个你不知道的内部连接。尝试左联接并检查是否为空

SELECT a.*,b.* , target as (CASE WHEN b.client_id is NUll THEN 0 ELSE 1 END )
 FROM table1 a WITH (NOLOCK)
LEFT JOIN table2 b WITH (NOLOCK) ON a.ID = b.client_id 

在理解后果、预测和处理问题以及有充分理由使用它之前,不要乱扔代码。在理解后果、预测和处理问题以及有充分理由使用它之前,不要乱扔代码