2016-09-21 95 views
-1

我有一个在我的项目之一中运行的下面的SQL查询。我很努力地理解这里的“as”概念。结果“user_key”和“user_all”显示为空。其中作为在前端 “user_all” 是 “rx.ord_by_userid” + “rx.ord_by_inst_id,”使用“as”作为关键字的SQL查询

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

http://www.w3schools.com/sql/sql_alias.asp –

+0

下面的文章有你的问题的答案。 [SQL关键字“AS”的用途是什么?](http://stackoverflow.com/questions/4164653/whats-the-purpose-of-sql-keyword-as) – arun

+0

我知道别名的概念。但我不明白他们为什么试图用'user_key'表示'' – user3022426

回答

0

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

0

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

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