gpt4 book ai didi

带有 IF 语句的 MySQL VIEW

转载 作者:可可西里 更新时间:2023-11-01 07:49:55 24 4
gpt4 key购买 nike

我在 mMySQL 中有两个表:

 - news (news_id, news_titel, news_file_id)
- files (file_id, file_path, file_name)

我想用这些列创建 MySQL VIEW:

- news_view (news_id, news_title, news_file_id, news_file_path)

但是,如果 news_file_id > 0 那么,我得到文件的路径 (file_path + file_name) 否则 news_file_path 应该是 0

我该如何做这个VIEW?

编辑

但是如果我想再添加两个表怎么办:

categories (category_id, category_name)
users(user_id, user_name)

和表news更改为

news (news_id, news_title, news_file_id, news_author_id, news_category_id)

并且 View 应该只显示具有指定 news_author_idnews_category_id 的帖子,但是像原始问题中那样显示 news_file_path

谢谢,保罗。

最佳答案

尝试以下:

 CREATE VIEW news_view  
as (SELECT news_id, news_titel, news_file_id,
IF(news_file_id > 0, CONCAT(file_path, file_name), 0)
AS news_file_path
FROM news a LEFT JOIN files b
ON a.news_file_id= b.file_id
JOIN categories cat
ON a.news_category_id = cat.category_id
JOIN users u
ON a.news_author_id = u.user_id
);

根据需要添加where条件。

关于带有 IF 语句的 MySQL VIEW,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13000615/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com