2014-05-21 50 views
0

即時消息不知道如果我對這個字段做得很好calendar.type_event = NULL。現在對我很好,因爲我需要將第二個SELECT區分爲第三種類型。將一個值賦給SELECT語句上的一個字段

我想做點像calendar.type_event ='shared_event'來區分它。但返回一個0,用NULL返回什麼都沒有。這不是我只需要知道我是否可以分配自己的值的問題:'shared_event'。

非常感謝

整個查詢:

(SELECT  
    id, type_event 
    FROM calendar 
    WHERE user_id = '.$user_id.'   
)  

UNION 

(SELECT 
    calendar.id, calendar.type_event = NULL 
    FROM calendar 
    RIGHT JOIN avisos ON avisos.app_id = calendar.id 
    WHERE avisos.user_destiny_id = '.$user_id.' 
) 

ORDER BY fecha_evento ASC 
+0

什麼數據類型是'calendar.type_event'? –

+0

是一個字符串,有兩種情況:'notice'或'event',需要在飛行中設置爲'shared_event' – Theblabla

+0

好的,然後檢查下面的答案。它應該工作。 –

回答

0

我需要知道,如果我能分配我自己的值:'shared_event'

是的,你可以。在地方calendar.type_event列的只是使用文字'shared_event'

SELECT 
     calendar.id, 'shared_event' 
    FROM calendar 
     RIGHT JOIN avisos ON avisos.app_id = calendar.id 
WHERE avisos.user_destiny_id = '.$user_id.' 
+0

我試了一下,它的工作原理與我想要的一樣,非常感謝 – Theblabla

0

你應該能夠做這樣的事情:

(SELECT  
    id, type_event 
    FROM calendar 
    WHERE user_id = '.$user_id.'   
)  

UNION 

(SELECT 
    calendar.id, "shared_event" 
    FROM calendar 
    RIGHT JOIN avisos ON avisos.app_id = calendar.id 
    WHERE avisos.user_destiny_id = '.$user_id.' 
) 

ORDER BY fecha_evento ASC 
+0

謝謝,效果很好。 – Theblabla

-1

我認爲這是你在找什麼:

(SELECT  
    id, type_event 
    FROM calendar 
    WHERE user_id = '.$user_id.'   
)  
UNION 
(SELECT 
    calendar.id, '' type_event 
    FROM calendar 
    RIGHT JOIN avisos ON avisos.app_id = calendar.id 
    WHERE avisos.user_destiny_id = '.$user_id.' 
) 
ORDER BY fecha_evento ASC 

在第二個查詢,type_event字段將包含空值。如果type_event字段是數字字段,則可以將0(ZERO)替換爲''(空單引號/字符串)。

+0

不,'null'在概念上與空字符串或'0'數量不同(一般人會因爲違反Oracle而感到惱火)。使用這種「標誌」值會導致問題。如果它應該爲空(如'缺少'),則將其保留爲空 - 如果此處選擇的值最終成爲有效值,會發生什麼情況? –

+0

此外,初始問題需要將字段「type_event」設置爲聯合中第二個select查詢的字符串「shared_event」。 –

+0

我故意將'type_event'保存爲'''',因爲我認爲@Theblabla只是想讓'shared_event'的值來標識在第二個查詢中找到的其他事件;它看起來像第一個查詢將有'type_event'字段的值;所以無論空字符串是否給予'type_event',共享事件行都是可識別的。我使用空字符串來最大限度地減少查詢產生的數據並提高速度。 –

相關問題