Sql 进度-联接表
在向数据库中创建记录之前,我正在添加一些验证检查,我需要满足以下条件: 查找fieldinfo,其中fieldinfo.fieldno=5052 查找codetable,其中codetable.tableno=fieldinfo.tableno和codetable.code=tt-employee.costcode tt employee是一个临时表,其余的直接来自db 因为我是一个新手,所以我有点困惑——应该使用连接吗?如果是的话,知道怎么做吗?谢谢大家! 试试看:Sql 进度-联接表,sql,join,progress-4gl,openedge,progress-db,Sql,Join,Progress 4gl,Openedge,Progress Db,在向数据库中创建记录之前,我正在添加一些验证检查,我需要满足以下条件: 查找fieldinfo,其中fieldinfo.fieldno=5052 查找codetable,其中codetable.tableno=fieldinfo.tableno和codetable.code=tt-employee.costcode tt employee是一个临时表,其余的直接来自db 因为我是一个新手,所以我有点困惑——应该使用连接吗?如果是的话,知道怎么做吗?谢谢大家! 试试看: IF expressio
IF expression THEN {block/statement} [ELSE {block/statement}]
或
如果有帮助,请参阅。尝试:
IF expression THEN {block/statement} [ELSE {block/statement}]
或
如果有帮助,请参阅。尝试:
IF expression THEN {block/statement} [ELSE {block/statement}]
或
如果有帮助,请参阅。尝试:
IF expression THEN {block/statement} [ELSE {block/statement}]
或
如果有帮助的话, 这里有一些事情要考虑: 验证 您可以在逻辑或数据库本身中添加验证。如何做到这一点取决于您和系统的外观。如果数据库中已经存在验证,则可能需要将其保留在数据库中 但如果这不是客户/老板等的要求,我个人会将所有验证放在业务逻辑中,而不是模式中 如果要使用数据库驱动的方法,请查看数据库手册中的“验证” 加入 另一个问题是您的查询是错误的。Progress确实支持联接查询,但不支持使用
FIND
-语句
请执行以下操作以保留查找:
FIND fieldinfo NO-LOCK WHERE fieldinfo.fieldno = 5052 NO-ERROR.
IF AVAILABLE fieldinfo THEN DO:
FIND FIRST codetable NO-LOCK WHERE codetable.tableno = fieldinfo.tableno
AND codetable.code = tt-employee.costcode NO-ERROR.
IF AVAILABLE codetable THEN DO:
/* Do something */
END.
END.
您还可以将其更改为带有联接的FOR
-语句
FOR EACH fieldinfo NO-LOCK WHERE fieldinfo.fieldno = 5052,
FIRST codetable NO-LOCK WHERE codetable.tableno = fieldinfo.tableno
AND codetable.code = tt-employee.costcode:
/* Do something */
END.
这里有一些事情要考虑: 验证 您可以在逻辑或数据库本身中添加验证。如何做到这一点取决于您和系统的外观。如果数据库中已经存在验证,则可能需要将其保留在数据库中 但如果这不是客户/老板等的要求,我个人会将所有验证放在业务逻辑中,而不是模式中 如果要使用数据库驱动的方法,请查看数据库手册中的“验证” 加入 另一个问题是您的查询是错误的。Progress确实支持联接查询,但不支持使用
FIND
-语句
请执行以下操作以保留查找:
FIND fieldinfo NO-LOCK WHERE fieldinfo.fieldno = 5052 NO-ERROR.
IF AVAILABLE fieldinfo THEN DO:
FIND FIRST codetable NO-LOCK WHERE codetable.tableno = fieldinfo.tableno
AND codetable.code = tt-employee.costcode NO-ERROR.
IF AVAILABLE codetable THEN DO:
/* Do something */
END.
END.
您还可以将其更改为带有联接的FOR
-语句
FOR EACH fieldinfo NO-LOCK WHERE fieldinfo.fieldno = 5052,
FIRST codetable NO-LOCK WHERE codetable.tableno = fieldinfo.tableno
AND codetable.code = tt-employee.costcode:
/* Do something */
END.
这里有一些事情要考虑: 验证 您可以在逻辑或数据库本身中添加验证。如何做到这一点取决于您和系统的外观。如果数据库中已经存在验证,则可能需要将其保留在数据库中 但如果这不是客户/老板等的要求,我个人会将所有验证放在业务逻辑中,而不是模式中 如果要使用数据库驱动的方法,请查看数据库手册中的“验证” 加入 另一个问题是您的查询是错误的。Progress确实支持联接查询,但不支持使用
FIND
-语句
请执行以下操作以保留查找:
FIND fieldinfo NO-LOCK WHERE fieldinfo.fieldno = 5052 NO-ERROR.
IF AVAILABLE fieldinfo THEN DO:
FIND FIRST codetable NO-LOCK WHERE codetable.tableno = fieldinfo.tableno
AND codetable.code = tt-employee.costcode NO-ERROR.
IF AVAILABLE codetable THEN DO:
/* Do something */
END.
END.
您还可以将其更改为带有联接的FOR
-语句
FOR EACH fieldinfo NO-LOCK WHERE fieldinfo.fieldno = 5052,
FIRST codetable NO-LOCK WHERE codetable.tableno = fieldinfo.tableno
AND codetable.code = tt-employee.costcode:
/* Do something */
END.
这里有一些事情要考虑: 验证 您可以在逻辑或数据库本身中添加验证。如何做到这一点取决于您和系统的外观。如果数据库中已经存在验证,则可能需要将其保留在数据库中 但如果这不是客户/老板等的要求,我个人会将所有验证放在业务逻辑中,而不是模式中 如果要使用数据库驱动的方法,请查看数据库手册中的“验证” 加入 另一个问题是您的查询是错误的。Progress确实支持联接查询,但不支持使用
FIND
-语句
请执行以下操作以保留查找:
FIND fieldinfo NO-LOCK WHERE fieldinfo.fieldno = 5052 NO-ERROR.
IF AVAILABLE fieldinfo THEN DO:
FIND FIRST codetable NO-LOCK WHERE codetable.tableno = fieldinfo.tableno
AND codetable.code = tt-employee.costcode NO-ERROR.
IF AVAILABLE codetable THEN DO:
/* Do something */
END.
END.
您还可以将其更改为带有联接的FOR
-语句
FOR EACH fieldinfo NO-LOCK WHERE fieldinfo.fieldno = 5052,
FIRST codetable NO-LOCK WHERE codetable.tableno = fieldinfo.tableno
AND codetable.code = tt-employee.costcode:
/* Do something */
END.
为我们提供您的schemaWell uhm模式相当大,但基本上fieldinfo和codetable是数据库中的表,tt employee是临时表Progress 4gl不是SQL--您确定要与此问题关联的SQL标记吗?为我们提供您的schemaWell uhm模式相当大,但基本上fieldinfo和codetable是db和tt employee中的表是临时表Progress 4gl不是SQL--您确定需要与此问题相关联的SQL标记吗?为我们提供您的schemaWell uhm该schema相当大,但基本上fieldinfo和codetable是db中的表,tt employee是临时表Progress 4gl不是SQL--您确定需要吗与此问题相关联的sql标记?为我们提供您的schemaWell uhm该模式相当大,但基本上fieldinfo和codetable是数据库中的表,tt employee是临时表Progress 4gl不是sql--您确定要与此问题相关联的sql标记吗?干杯,伙计,但我正在努力解决这个表达式“codetable.tableno=fieldinfo.tableno”需要使用响应第一个条件的fieldinfo,然后该条件的codetable需要与tt-employee.costCode匹配您可以访问以获取更多信息。干杯,伙计,但我正在努力使用“codetable.tableno=fieldinfo.tableno”的表达式“需要使用响应第一个条件的fieldinfo,然后该条件的codetable需要与tt-employee.CostCode匹配您可以访问以获取更多信息。干杯,伙计,但我正在努力使用“codetable.tableno=fieldinfo.tableno”的表达式”需要使用响应第一个条件的字段信息,然后该字段中的代码表需要与tt-employee.COSTCODE匹配您可以访问了解更多信息