当前位置: 首页 > 知识库问答 >
问题:

如何从SQL中的两个不同列中确定状态

凌修伟
2023-03-14

我试图确定查询中的“完整”或“不完整”值,但我需要引用两个不同的列来确定。

例如-我有一个货件有4个事件。在数据库中,我有以下列。

“cs_event_count”与“cs_completed”

Event count告诉我事件总数,Completed告诉我这些事件中有多少已经完成。

我希望我的查询显示如下内容

如果“Event Count”值等于“Completed”值,则为“Complete”;如果“Event Count”与“Completed”值不匹配,则为“Complete”

我还从其他表中引入了数据。这是我的问题

下面是我的查询的示例

  select dba.disp_ship.ds_id, dba.disp_ship.ds_origin_id, dba.disp_ship.ds_findest_id, dba.disp_ship.ds_billto_id, dba.disp_ship.ds_bill_charge,
dba.disp_ship.ds_status, dba.disp_ship.ds_bill_date, dba.disp_ship.ds_ship_date, dba.disp_ship.ds_ship_type, dba.disp_ship.movecode, 
dba.companies.co_id, dba.companies.co_name, dba.current_shipments.cs_id, dba.current_shipments.cs_event_count, dba.current_shipments.cs_routed, dba.current_shipments.cs_assigned, dba.current_shipments.cs_completed,
(CASE ds_status WHEN 'A' THEN 'TEMPLATE'
WHEN 'C' THEN 'CANCELLED'
WHEN 'D' THEN 'DECLINED'
WHEN 'E' THEN 'QUOTED'
WHEN 'F' THEN 'OFFERED' 
WHEN 'H' THEN 'PENDING'
WHEN 'K' THEN 'OPEN'
WHEN 'N' THEN 'AUTHORIZED'
WHEN 'Q' THEN 'AUDIT REQUIRED'
WHEN 'T' THEN 'AUDITED'
WHEN 'W' THEN 'BILLED' 
END) AS 'BILLING STATUS',
(CASE ds_ship_type WHEN '2201' THEN 'MONTREAL'
WHEN '2202' THEN 'DRYVAN'
WHEN '2203' THEN 'BROKERAGE'
WHEN '2204' THEN 'OLD BROKERAGE (NO GOOD)'
WHEN '2205' THEN 'LIFTING'
WHEN '2206' THEN 'WAREHOUSE'
END) AS 'DIVISION'
from dba.disp_ship
inner join dba.companies ON dba.disp_ship.ds_billto_id=dba.companies.co_id
inner join dba.current_shipments ON dba.disp_ship.ds_id=DBA.current_shipments.cs_id 

共有1个答案

乜璞瑜
2023-03-14

根据问题中包含的代码,您是否尝试使用case表达式?

CASE WHEN dba.current_shipments.cs_event_count = dba.current_shipments.cs_completed
     THEN   'COMPLETE'
     ELSE 'INCOMPLETE'
END
  AS Status
 类似资料:
  • 问题内容: 我的SQL Server数据库中有两个表。第一个是,第二个是。两个表中都有一列。 现在,我想从两个表中选择一个特定的值。 这就是我在做的 但是我的查询给出了错误。 问题答案:

  • 问题内容: 有这张桌子 和这个 我如何从表“项目”中选择所有行并显示字段“已删除”,即使在给定用户ID的情况下,即使“ MyList”中不存在itemID? 查询结果示例: 什么是查询,以便我可以得到该结果? 谢谢 问题答案: 我不确定这是否是最好的方法,但它会返回我一直在寻找的内容:

  • 问题内容: 关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。 想要改善这个问题吗? 更新问题,使它成为Stack Overflow的主题。 7年前关闭。 改善这个问题 我有一些需要汇总的表。它们也没有链接,但是所有表的顺序是相同的。 基本上,我想采用以下两个表: 要获得这样的输出以输入到图形应用程序中,请执行以下操作: 问题答案:

  • 问题内容: 比方说,我们有这个表: 我想做的是: 计算开始日期和结束日期之间的学生人数! 问题答案: 看起来您需要使用基本的聚合: 我分别在开始日期和结束日期字段周围使用了> =和<=。可以根据需要随意更改为>或<。从您的问题中并不清楚是要在特定字段之间还是要检查这两个字段之间的范围。

  • 问题内容: 上面的代码创建一个带有两个列表框的窗口。但是,如果要从这两个值中检索值,就会出现问题,因为一旦在一个值中选择一个值,它就会取消选择在另一个值中选择的值。 这仅仅是开发人员必须忍受的限制吗? 问题答案: 简短答案:将所有列表框小部件的属性值设置为False或零。 从列表框小部件的pythonware概述中: 默认情况下,选择被导出到X选择机制。如果您在屏幕上有多个列表框,这确实会使可怜的

  • 问题内容: 可以说我有两个带有SSN变量的表,并且我想显示仅在一个表中的表,而不是两个表中的表。 正确的方法是什么? 问题答案: 这是一种方法: 这适用于大多数数据库,但不适用于MySQL。以下内容几乎可以在任何数据库中工作: