簡體   English   中英

如何實現oracle查詢以從laravel中的不同表中選擇

[英]How to implement oracle query to select from different tables in laravel

我試圖從laravel中的不同表中選擇不同的表。 在oracle中,我已經成功實現了查詢並可以正常工作。 現在,我正在嘗試將其“翻譯”成laravel。 我怎樣才能做到這一點?

在oraclesql中,查詢如下。 TEMP表以及此查詢中使用的所有其他表都存在。 是否可以使用DB :: raw做到這一點? 你能給我我的建議嗎?

INSERT INTO TEMP (OBJECT_TYPE, OBLECT_ID)
SELECT DISTINCT HRP1001_CG.OBJECT_TYPE, HRP1001_CG.OBJECT_ID FROM HRP1001_SC, HRP1001_CG, CONFIG
WHERE
(HRP1001_SC.OBJECT_TYPE = 'CG')  
AND
(HRP1001_SC.REL_OBJ_TYPE = 'SC')   
AND
(HRP1001_SC.REL_OBJ_ID = CONFIG.SC)
AND
((HRP1001_SC.ST_DATE < CONFIG.DES_DATE) AND (HRP1001_SC.END_DATE > CONFIG.DES_DATE)) 
AND
(HRP1001_CG.REL_OBJ_ID = HRP1001_SC.OBJECT_ID)
AND
((HRP1001_CG.OBJECT_TYPE ='CG') OR (HRP1001_CG.OBJECT_TYPE ='SM'))
ORDER BY HRP1001_CG.OBJECT_ID;

更新:我也嘗試過此代碼,但也沒有收到結果:(。

$data = DB::table('hrp1001_sc')
            ->join('config', 'config.sc', '=', 'hrp1001_sc.rel_obj_id')
            ->join('config', 'config.des_date', '>', 'hrp1001_sc.st_date')
            ->join('config', 'config.des_date', '<', 'hrp1001_sc.end_date')
            ->join('hrp1001_cg', 'hrp1001_cg.rel_obj_id', '=', 
             'hrp1001_sc.object_id')
            ->where('hrp1001_sc.object_type', '=', 'cg')
            ->where('hrp1001_sc.rel_obj_type', '=', 'sc')
            ->select('hrp1001_sc.object_id')
            ->distinct()
            ->get();

找到了解決方案,就是這樣:

$q = "insert into temp(object_type, object_id)";
    $q = $q."select distinct hrp1001_cg.object_type, hrp1001_cg.object_id from 
    hrp1001_cg, hrp1001_sc, config where";
    $q =$q." hrp1001_sc.object_type = 'CG'";
    $q = $q." and hrp1001_sc.rel_obj_type = 'SC'";
    $q = $q." and hrp1001_sc.rel_obj_id = config.sc";
    $q = $q." and hrp1001_sc.st_date < config.des_date";
    $q = $q." and hrp1001_sc.end_date > config.des_date";
    $q = $q." and hrp1001_cg.rel_obj_id = hrp1001_sc.object_id";
    $q = $q." and";
    $q = $q." ((hrp1001_cg.object_type = 'CG') or (hrp1001_cg.object_type = 'SM'))";

    $xx = DB::insert($q);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM