我这里有一个数据库
| TIME | STOCK
|9:00 |24
|12:00 | 15
我想显示时间早上6点到明天凌晨4点
我想把它放在一个mysql查询中,我会在特定时间内将null放在我的数据库中不相似
像这样ID | STOCK
6:00 |NULL
7:00 |NULL
8:00 |NULL
9:00 |24
10:00|NULL
11:00|NULL
12:00|15
依旧......
有没有人知道解决方案。提前谢谢。
答案 0 :(得分:1)
一种方法就是你可以为你需要的所有时间段创建临时表,左边的连接就可以了。
股票表:
create table stock (TIME varchar(5), STOCK int(2));
insert into stock values
('9:00',24),
('12:00',15);
时间表(需要是临时的)
create TEMPORARY table timings (timings varchar(5));
insert into timings values
('6:00'),
('7:00'),
('8:00'),
('9:00'),
('10:00'),
('11:00'),
('12:00'),
('13:00'),
('14:00'),
('15:00'),
('16:00'),
('17:00'),
('18:00');
您的选择查询将是
select timings,STOCK from timings t left join
stock s on t.timings = s.TIME;
请参阅fiddle