繁体   English   中英

为SELECT语句中的字段分配值

[英]Assign a value to a field on SELECT statement

我不确定即时通讯是否可以很好地处理calendar.type_event = NULL 现在对我来说效果很好,因为我需要将第二个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

您应该能够执行以下操作:

(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

我需要知道是否可以分配自己的值: '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.'

我认为这是您要寻找的:

(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 (零)而不是'' (空单引号/字符串)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM