2017-05-26 130 views
-2

有人可以幫我解決這個問題嗎?我在網上查看答案,但仍不成功。 我有兩個代碼,代碼#1:SQL代碼:爲一個代碼添加值,但在其他代碼中顯示

SELECT subject_note,ticket_id,created_time,status, 
    UPPER(SUBSTRING(datacenter,1,3)) region 
FROM sort_ticket WHERE ticket_type = 1 AND status =0 AND team_type = 1 AND MONTH(FROM_UNIXTIME(closed_date)) = MONTH(NOW()) 
and YEAR(FROM_UNIXTIME(closed_date)) = YEAR(NOW()) 
AND 
(
-- ASH 
owner_id = 812400897 
or owner_id = 1392249056 
or owner_id = 739243661 
or owner_id = 100002941128738 
or owner_id = 619251675 
or owner_id = 502392893 
) 

和代碼#2:

SELECT 
    subject_note, 
    cyborg_verify_tries, 
    ticket_id, 
    closed_date, 
    created_time, 
    status, 
UPPER(SUBSTRING(datacenter,1,3)) region 
FROM sort_ticket 
WHERE ticket_type = 1 
    AND status =0 
    AND team_type = 1 
    and (FROM_UNIXTIME(closed_date)) >= DATE_SUB(now(), INTERVAL 6 MONTH) 
AND 
(
-- ASH 
owner_id = 812400897 
or owner_id = 1392249056 
or owner_id = 739243661 
or owner_id = 100002941128738 
or owner_id = 619251675 
or owner_id = 502392893 
) 

這些代碼創建表,並給我結果什麼是好的的兩個。 問題我在這裏是我必須手動添加每個新的「owner_id」到每個代碼。

有什麼辦法,我怎麼能添加新的「owner_id」只進任何代碼,第二個將被自動更新?這兩個信息都來自同一張表「sort_ticket」。

謝謝你的幫助。

回答

1

您可以使用額外的表,在那裏你把用戶ID和一個選擇替換該數據的固定值:在其他

SELECT 
    subject_note, 
    cyborg_verify_tries, 
    ticket_id, 
    closed_date, 
    created_time, 
    status, 
UPPER(SUBSTRING(datacenter,1,3)) region 
FROM sort_ticket 
WHERE ticket_type = 1 
    AND status =0 
    AND team_type = 1 
    and (FROM_UNIXTIME(closed_date)) >= DATE_SUB(now(), INTERVAL 6 MONTH) 
AND 
(
-- ASH 
select owner_id from newtable 
) 

同樣選擇

+0

'CREATE TABLE newtable的( owner_id INT主鍵NOT NULL)' 並sort_ticket這newtable的,其中sort_ticket.owner_id =之間的內部連接newtable.owner_id 現在,你只需要車主加入到這個新表 –

+0

喜富吧,謝謝你的小費,這就是我究竟在想,這是最簡單的解決辦法,但問題是我不能創建新表,因爲我沒有訪問數據庫,我只能創建SQL代碼來獲取值。有沒有其他選擇,如創建函數或觸發我可以在代碼#2中使用什麼,而不是手動更新代碼#2上的'owner_id'? – morzi39

+0

@ morzi39不,你不能這樣做。 – Jens

0

您可以使用附加表或附加視圖。在查詢中使用連接到新表/視圖,並在表中插入新的owner_id或在視圖中添加UNION。 解決您的proble以期你可以這樣做:

CREATE VIEW v_sort_ticket_owner AS 
SELECT 812400897 as owner_id 
UNION 
SELECT 1392249056 as owner_id 
UNION 
SELECT 739243661 as owner_id 
UNION 
SELECT 100002941128738 as owner_id 
UNION 
SELECT 619251675 as owner_id 
UNION 
SELECT 502392893 as owner_id 
--UNION 
--SELECT newnumber as ownder_id 

SELECT subject_note,ticket_id,created_time,status, 
UPPER(SUBSTRING(datacenter,1,3)) region 
FROM sort_ticket st 
JOIN v_sort_ticket_owner sto 
ON st.owner_id = sto.owner_id 
WHERE st.ticket_type = 1 AND st.status =0 AND st.team_type = 1 AND 
MONTH(FROM_UNIXTIME(st.closed_date)) = MONTH(NOW()) 
and YEAR(FROM_UNIXTIME(st.closed_date)) = YEAR(NOW()) 
+0

戴夫你好,謝謝你,只是小問題 - 我可以用「v_sort_ticket_owner」在代碼#2沒有對代碼#創建視圖2? – morzi39

+0

一旦你創建你可以在代碼#1以及代碼#2再次 – Dave

+0

OK,THX使用它的看法,但正如我所說,以富吧,我不認爲它會允許我創建表,但從來沒有嘗試VIEW,我會嘗試並讓你知道。 – morzi39