iT邦幫忙

0

子查詢的應用問題-2

請教大家
我使用下列語法,
select * from public.Bandana where bandanacontext='net.kentcom.PageViewTracker.All.59247661' AND bandanakey='TotalCount'
https://ithelp.ithome.com.tw/upload/images/20180108/20003705jJGnRlerr5.jpg
是否可以抓出它尾碼的數值59247661,來做為子查詢的欄位條件呢?或是要由程式來控制呢?

下列語法是simon0627邦友之前教我的方式,是否有類似的應用可分享呢?感謝
(參考此篇: https://ithelp.ithome.com.tw/questions/10185737)

SELECT TAB2.pageid, TAB1.contentid ,TAB3 spacename
FROM content TAB1,
             (SELECT pageid
                FROM content
                WHERE contentid IN (select 59247661 from public.Bandana where bandanacontext='net.kentcom.PageViewTracker.All.59247661' AND bandanakey='TotalCount'))TAB2,spaces TAB3                                                                     
WHERE TAB2.pageid =  TAB1.contentid and 
TAB1.spaceid = TAB3.spaceid

註:資料表所儲存的資料格式如下
https://ithelp.ithome.com.tw/upload/images/20180108/200037057vFP0fnAnN.jpg

把你的資料表,結構,資料,跟最終要的結果,貼出來.別只用貼圖的.
要用指令的方式.不然還要 一個個打資料,很浪費時間的.
ektrontek iT邦研究生 1 級 ‧ 2018-01-08 20:16:31 檢舉
我覺得有OK了 謝謝
SELECT TAB2.pageid, TAB1.title ,TAB3.spacename
FROM content TAB1,
(SELECT pageid FROM content
WHERE pageid IN (select cast(right(bandanacontext,8) as integer) as contentcode from public.Bandana where bandanakey='TotalCount') and pageid is not null) TAB2,spaces TAB3
WHERE TAB2.pageid = TAB1.contentid and TAB1.spaceid = TAB3.spaceid

2 個回答

0
小魚
iT邦大師 1 級 ‧ 2018-01-08 12:40:42

是否可以抓出它尾碼的數值59247661,來做為子查詢的欄位條件呢

這句話的意思是什麼?
如果是要抓所有以59247661結尾的,
可以把
bandanacontext='net.kentcom.PageViewTracker.All.59247661'
改成
bandanacontext like '%59247661'

ektrontek iT邦研究生 1 級 ‧ 2018-01-08 12:48:02 檢舉

抱歉,沒有表達清楚,是想抓出所有資料的的尾碼數值,來與content資料表及spaces資料表來做join,最後抓出這個數值所在的space名稱、瀏覽率,謝謝

59247661
46334060
59246891
47120946
46333982
1
allenlwh
iT邦高手 1 級 ‧ 2018-01-08 13:17:43

如果尾碼都是固定8碼的話,可以改成

select right(bandanacontext,8) as contentcode from public.Bandana

我要發表回答

立即登入回答