Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ORACLE中的sqlwhere子句_Sql_Oracle - Fatal编程技术网

ORACLE中的sqlwhere子句

ORACLE中的sqlwhere子句,sql,oracle,Sql,Oracle,如何使用第二个子选择中第一个子选择的结束日期/开始日期?提供的值仅为示例。(2010年1月6日) 你不能。 您可以使用联接从两个查询中进行单个子选择,并将新的复合子选择从主查询的选择部分移动到起始部分。您不能这样做。 您可以使用联接从两个查询中进行单个子选择,并将新的复合子选择从主查询的选择部分移动到起始部分。这就是您要查找的吗 SELECT "PROJECT"."ID", "PROJECT"."CLIENT", "PROJECT"."NAME",

如何使用第二个子选择中第一个子选择的结束日期/开始日期?提供的值仅为示例。(2010年1月6日)

你不能。 您可以使用联接从两个查询中进行单个子选择,并将新的复合子选择从主查询的选择部分移动到起始部分。

您不能这样做。
您可以使用联接从两个查询中进行单个子选择,并将新的复合子选择从主查询的选择部分移动到起始部分。

这就是您要查找的吗

    SELECT "PROJECT"."ID", 
        "PROJECT"."CLIENT", 
        "PROJECT"."NAME", 
        "PROJECT"."STATE", 
        "PROJECT"."EARLIEST_START", 
        "PROJECT"."LATEST_END", 
        "PROJECT"."EFFORT", 
        "PROJECT"."LINK", 
        "PROJECT"."STATUS", 
        "PROJECT"."DESCRIPTION", 
        (SELECT SUM((END_DATE - START_DATE + 1) * (WORKLOAD / 100)) 
           FROM WORKITEM WHERE PROJECT = PROJECT.ID
        ) AS "P_A", 
        (SELECT COUNT(*) 
          FROM PUBLIC_HOLIDAY 
          WHERE HOLIDAY_DATE BETWEEN NVL(END_DATE,SYSDATE) AND 
                                   NVL(START_DATE,SYSDATE)) AS P_B,
        "PROJECT_STATE"."STATE", 
        "PERSON"."DISPLAY_NAME" AS "RESPONSIBLE" 
        FROM "PROJECT"
        INNER JOIN "PROJECT_STATE" ON PROJECT.STATE = PROJECT_STATE.ID
        INNER JOIN "PERSON" ON RESPONSIBLE = PERSON.ID
        LEFT JOIN "WORKITEM" ON WORKITEM.PROJECT = WORKITEM.ID 
        WHERE (PROJECT.CLIENT = '1') AND (PROJECT.STATE = 1)
        ORDER BY "PROJECT"."NAME" ASC

这就是你要找的吗

    SELECT "PROJECT"."ID", 
        "PROJECT"."CLIENT", 
        "PROJECT"."NAME", 
        "PROJECT"."STATE", 
        "PROJECT"."EARLIEST_START", 
        "PROJECT"."LATEST_END", 
        "PROJECT"."EFFORT", 
        "PROJECT"."LINK", 
        "PROJECT"."STATUS", 
        "PROJECT"."DESCRIPTION", 
        (SELECT SUM((END_DATE - START_DATE + 1) * (WORKLOAD / 100)) 
           FROM WORKITEM WHERE PROJECT = PROJECT.ID
        ) AS "P_A", 
        (SELECT COUNT(*) 
          FROM PUBLIC_HOLIDAY 
          WHERE HOLIDAY_DATE BETWEEN NVL(END_DATE,SYSDATE) AND 
                                   NVL(START_DATE,SYSDATE)) AS P_B,
        "PROJECT_STATE"."STATE", 
        "PERSON"."DISPLAY_NAME" AS "RESPONSIBLE" 
        FROM "PROJECT"
        INNER JOIN "PROJECT_STATE" ON PROJECT.STATE = PROJECT_STATE.ID
        INNER JOIN "PERSON" ON RESPONSIBLE = PERSON.ID
        LEFT JOIN "WORKITEM" ON WORKITEM.PROJECT = WORKITEM.ID 
        WHERE (PROJECT.CLIENT = '1') AND (PROJECT.STATE = 1)
        ORDER BY "PROJECT"."NAME" ASC

这里有一种在多个位置使用开始日期和结束日期的方法

with (select to_date('06/01/2010','MM/DD/YYYY') as start_date,  
             to_date('06/02/2010','MM/DD/YYYY') as end_date  
        from dual) as q1  
select project.id,
       project_state.state, 
       q1.start_date,
       q1.end_date,
       (SELECT SUM((q1.END_DATE - q1.START_DATE + 1) * (WORKLOAD / 100)) 
       FROM WORKITEM WHERE PROJECT = PROJECT.ID) AS P_A 
 from project  
 join project_state on project_state.id = project.state 
 join q1 on 1=1  

这里有一种在多个位置使用开始日期和结束日期的方法

with (select to_date('06/01/2010','MM/DD/YYYY') as start_date,  
             to_date('06/02/2010','MM/DD/YYYY') as end_date  
        from dual) as q1  
select project.id,
       project_state.state, 
       q1.start_date,
       q1.end_date,
       (SELECT SUM((q1.END_DATE - q1.START_DATE + 1) * (WORKLOAD / 100)) 
       FROM WORKITEM WHERE PROJECT = PROJECT.ID) AS P_A 
 from project  
 join project_state on project_state.id = project.state 
 join q1 on 1=1  

我不知道你在问什么-请澄清问题。对不起,很难解释,希望这有帮助。对不起,很难回答:-)。认真地说,试着用问号结束一个句子。请包括一个create table和insert语句,其中包含一些示例数据和预期输出。我不确定你在问什么-请澄清问题。抱歉,很难解释,希望这有帮助。。抱歉,很难回答:-)。认真地说,试着用问号结束一个句子。请包括一个CREATETABLE和insert语句以及一些示例数据和预期输出。