我在我的一个项目中运行了以下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 ) )
感谢。
答案 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)。