使用"作为"的SQL查询关键词

时间:2016-09-21 16:01:54

标签: sql powerbuilder

我在我的一个项目中运行了以下SQL查询。我正在努力理解" as"这里的概念。在结果" user_key"和" user_all"显得空虚。在前端的位置" user_all"是" rx.ord_by_userid"的组合+" rx.ord_by_inst_id,"

SELECT  rx.rx_id, 
 rx.pt_visit_id, 
 rx.pt_id, 
 pt_visit.date_time_sch, 
 ' ' as print_dea_ind, 
 ' ' as phys_rx_label, 
 rx.ord_by_userid, 
 rx.ord_by_inst_id, 
 '                                                  ' as user_key, 
 pt_visit.visit_inst_id, 
 '                                                  ' as user_all, 
 ' ' as tp_agt_ind, 
 FROM rx LEFT OUTER JOIN tx_pln ON rx.tp_name = tx_pln.tp_name AND  rx.tp_vers_no = tx_pln.tp_vers_no, pt_visit 
WHERE ( pt_visit.pt_visit_id = rx.pt_visit_id ) and
( pt_visit.pt_id = rx.pt_id ) and
( ( rx.pt_id = :pt_id ) and
( rx.rx_id = :rx_id ) )  

感谢。

2 个答案:

答案 0 :(得分:0)

我认为当他们查询数据库时,他们需要两个名为“user_key”和“user_all”的字段,其值为空值。但是,在前端,由于业务规则,它们需要使用“rx.ord_by_userid”+“rx.ord_by_inst_id”的组合显示列“user_all”。 “AS”的含义只是设置具有新名称所需的任何字段的别名。在这种情况下,新列“user_key”和“user_all”设置为空值。

答案 1 :(得分:0)

AS只是在数据集中为字段提供名称,或者在SQL术语中提供别名。在PB中,通常这样做是为了使DataWindow为其提供一致,简单的名称。这就是AS所做的 all

你神秘的另一部分是如何填充非空白值。您假设这是在带有AS的SQL中完成的,但我们可以向您保证并非如此。最有可能的是,这个值是在一个脚本中设置的,该脚本在Retrieve()之后在客户端触发(如果我打赌,我打赌DataWindow控件上的脚本,可能是RetrieveRow或RetrieveEnd)。