0

我这里有一个数据库

| 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

等等...

有没有人知道解决方案。先感谢您。

4

1 回答 1

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;

小提琴

于 2013-07-15T10:49:09.237 回答