Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.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
Asp.net 如何比较具有相同结构的两个表中的列值,然后选择具有不同值的列_Asp.net_Sql_Vb.net - Fatal编程技术网

Asp.net 如何比较具有相同结构的两个表中的列值,然后选择具有不同值的列

Asp.net 如何比较具有相同结构的两个表中的列值,然后选择具有不同值的列,asp.net,sql,vb.net,Asp.net,Sql,Vb.net,我有两张表,船只详细信息和船只历史记录。两个表具有相同的字段。我必须比较所有字段的值,并选择具有不同值且不为null的列。例如,ship_name字段,我必须检查Vesser_details表中ship_name字段的值是否与Vesser_history表中的ship_name字段的值不同。如果该值不同且不为空,我必须从vessel_历史中选择并显示该值 对正确的查询有什么想法吗? 谢谢 对于所有要检查的列,依此类推 这就是你要找的吗 为每个项目编辑一行: SELECT vessel_detai

我有两张表,船只详细信息和船只历史记录。两个表具有相同的字段。我必须比较所有字段的值,并选择具有不同值且不为null的列。例如,ship_name字段,我必须检查Vesser_details表中ship_name字段的值是否与Vesser_history表中的ship_name字段的值不同。如果该值不同且不为空,我必须从vessel_历史中选择并显示该值

对正确的查询有什么想法吗? 谢谢

对于所有要检查的列,依此类推

这就是你要找的吗

为每个项目编辑一行:

SELECT vessel_details.<your_id>,
CASE WHEN vessel_details.ship_name <> vessel_history.ship_name THEN Convert(bit, 1) ELSE Convert(bit, 0) END AS ship_name_different,
CASE WHEN vessel_details.ship_model <> vessel_history.ship_model THEN Convert(bit, 1) ELSE Convert(bit, 0) END AS ship_model_different
FROM vessel_details
JOIN vessel_history ON vessel_details.<your_id> ON vessel_history.<id_from_vessel_details>
WHERE vessel_details.ship_name <> vessel_history.ship_name 
OR vessel_details.ship_model <> vessel_history.ship_model

我正在寻找从vessel_history中选择并显示与vessel_details不同值的列的查询。它应该只显示在一行中。它给我一个1和O的结果。。convert函数用于?它用于获取bool/bit值以供以后处理。你可以用任何你喜欢的方式来替换它,例如选择船只详细信息、船只详细信息时的大小写、船只名称船只历史记录、船只名称然后“不同”其他“不不同”结束为船只名称不同、船只详细信息时的大小写、船只模型船只历史记录、船只模型然后“不同”其他“不不同”结束为船只模型不同……这里是u r。如果它解决了你的问题,你可以把它标记为答案。格里茨,什么数据库?微软接入?SQL Server?还有别的吗?请相应地更新标签-谢谢!
SELECT vessel_details.<your_id>,
CASE WHEN vessel_details.ship_name <> vessel_history.ship_name THEN Convert(bit, 1) ELSE Convert(bit, 0) END AS ship_name_different,
CASE WHEN vessel_details.ship_model <> vessel_history.ship_model THEN Convert(bit, 1) ELSE Convert(bit, 0) END AS ship_model_different
FROM vessel_details
JOIN vessel_history ON vessel_details.<your_id> ON vessel_history.<id_from_vessel_details>
WHERE vessel_details.ship_name <> vessel_history.ship_name 
OR vessel_details.ship_model <> vessel_history.ship_model