查詢1:那裏的情況下,當條款是 'APP' & 'WEB'。甲骨文OR,AND,NOT條件
SELECT a_date,
CASE WHEN A.TOPPAGEID='MLAND'
OR (A.PAGEID='B047201'
OR B.GROUP3PAGEID='B047201')
THEN 'APP'
ELSE 'WEB'
END AS LB,
COUNT(DISTINCT A.SESSIONNAME) AS SN
FROM A, B
WHERE A.a_date='20170101'
AND A.PAGEID=B.PAGEID
AND A.PAGEID IN ('LAND','MLAND')
GROUP BY A.a_date,
CASE WHEN A.TOPPAGEID='MLAND' OR (A.PAGEID='B047201' OR B.GROUP3PAGEID='B047201') THEN 'APP' ELSE 'WEB' END ;
從查詢嘗試1.提取物 'WEB' 1
SELECT AA.a_date,
COUNT(DISTINCT AA.SESSIONNAME) AS SN
FROM (SELECT * FROM A WHERE a_date ='20170101' AND TOPPAGEID='LAND') AS AB
LEFT OUTER JOIN (SELECT * FROM B) AS BB ON (AA.PAGEID=BA.PAGEID)
WHERE NOT (AA.PAGEID='B047201' OR BB.GROUP3PAGEID='B047201')
GROUP BY AA.a_date;
從查詢1
SELECT AA.a_date,
COUNT(DISTINCT AA.SESSIONNAME) AS SN
FROM A, B
WHERE A.a_date='20170101'
AND A.PAGEID=B.PAGEID
AND (A.TOPPAGEID='LAND' AND (A.PAGEID!='B047201' OR B.GROUP3PAGEID!='B047201'))
GROUP BY A.a_date;
嘗試2.提取 'WEB'
我嘗試從查詢1中提取'WEB',但兩個查詢try1和try2的結果與case-when子句中'WEB'的結果不匹配。你能指導我如何從case-when子句中提取'WEB'嗎?
你能解釋一下真正的問題,不能讓你的觀點。 –
我不明白這一點。這些是不同的查詢,無論他們做什麼,所以,你需要做什麼?你想用不同的方式重寫相同的查詢嗎?爲什麼?請嘗試解釋你需要做什麼 – Aleksej
我改變了我的解釋。我想在case-when子句中提取'WEB'。 @MuhammadNadeem – user2427306