gpt4 book ai didi

mysql - 如何在 mysql 的 select 查询中省略具有空值的列?

转载 作者:行者123 更新时间:2023-11-29 07:05:18 26 4
gpt4 key购买 nike

Select Header1,Header2,Header3,ExtraHeader from tbl_likeinfo where HotelID=2

这里 Header3 和 ExtraHeader 可能有空值。在那种情况下,我的查询结果中不需要只有那个空值,但应该给出包含其他列值的行。

如何实现?

最佳答案

您不能根据查询选择的数据动态更改结果集中选择的列。如果您不想处理空值,您可以在 header 值上使用 CASE 语句将它们更改为您选择的值,代表您可以以相同的方式处理,但我不推荐这种方法。

您可能想要改变您的方法。看来您的表格布局使用列来表示每个唯一的标题。如果您更改布局,则表格为:

hotel_id     NUMBER
header_name VARCHAR2(50)
header_value VARCHAR2(100)

然后当您插入 header 时,对当时收到的每个 header 执行一次插入。然后将您的选择更改为:

SELECT header_name, header_value FROM headers WHERE hotel_id = 2;

如果您碰巧存储了空的 header 值,并且当您将它们取出时,您想要消除这些值,那么:

SELECT header_name, header_value 
FROM headers
WHERE hotel_id = 2 AND header_value is not null;

如果顺序对您很重要,则在表中添加一列以存储插入顺序。此布局还允许您存储任意数量的标题信息,而无需在将来更改表格的布局。

希望这对您有所帮助。

关于mysql - 如何在 mysql 的 select 查询中省略具有空值的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7633487/

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