将MySQL查询转换为Informix

时间:2015-07-10 09:49:46

标签: mysql sql informix

我使用以下查询从mysql表中检索信息。

SELECT ACCESS_TOKEN,
       AUTHZ_USER,
       TOKEN_SCOPE,
       TOKEN_STATE,
       REFRESH_TOKEN_TIME_CREATED,
       REFRESH_TOKEN_VALIDITY_PERIOD,
       IDN_OAUTH2_ACCESS_TOKEN_SELECTED.TOKEN_ID
FROM
    (SELECT ACCESS_TOKEN,
            AUTHZ_USER, 
            TOKEN_STATE, 
            REFRESH_TOKEN_TIME_CREATED,
            REFRESH_TOKEN_VALIDITY_PERIOD, 
            TOKEN_ID 
     FROM IDN_OAUTH2_ACCESS_TOKEN
     WHERE CONSUMER_KEY = "" 
       AND REFRESH_TOKEN = "" 
     ORDER BY TIME_CREATED DESC
     LIMIT 1) AS IDN_OAUTH2_ACCESS_TOKEN_SELECTED 
  JOIN IDN_OAUTH2_SCOPE_ASSOCIATION 
WHERE IDN_OAUTH2_ACCESS_TOKEN_SELECTED.TOKEN_ID =
IDN_OAUTH2_SCOPE_ASSOCIATION.TOKEN_ID;

如何在具有相同表的Informix数据库中获得相同的结果?

1 个答案:

答案 0 :(得分:2)

同样可以通过将'LIMIT 1'转换为'FIRST 1'并将'WHERE'转换为'ON'来实现,

SELECT ACCESS_TOKEN, AUTHZ_USER, TOKEN_SCOPE, TOKEN_STATE,
       REFRESH_TOKEN_TIME_CREATED, REFRESH_TOKEN_VALIDITY_PERIOD,
       IDN_OAUTH2_ACCESS_TOKEN_SELECTED.TOKEN_ID
  FROM (SELECT FIRST 1 ACCESS_TOKEN, AUTHZ_USER, TOKEN_STATE,
               REFRESH_TOKEN_TIME_CREATED, REFRESH_TOKEN_VALIDITY_PERIOD,
               TOKEN_ID
          FROM IDN_OAUTH2_ACCESS_TOKEN
         WHERE CONSUMER_KEY = "" AND REFRESH_TOKEN = ""
         ORDER BY TIME_CREATED DESC) AS IDN_OAUTH2_ACCESS_TOKEN_SELECTED
  JOIN IDN_OAUTH2_SCOPE_ASSOCIATION
    ON IDN_OAUTH2_ACCESS_TOKEN_SELECTED.TOKEN_ID = IDN_OAUTH2_SCOPE_ASSOCIATION.TOKEN_ID;