2013-07-15 3 views
0

у меня есть база данных здесьВыберите между делом, заполнить нуль часов

| TIME | STOCK 
|9:00 |24 
|12:00 | 15 

Я хочу для отображения времени 6 утра теперь до 4 утра завтра

Я хочу поставить его в запросе тузды, где я буду поместить нуль в определенное время, что не похоже в моей базе данных

как этот

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

. Как вы можете определить, что сегодня и завтра, если у вас есть только переменная времени без какой-либо даты в вашей таблице? – Bjoern

+0

@MichaelWalter У вас есть выбор для этой программы. Спасибо и с уважением – student

ответ

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

 Смежные вопросы

  • Нет связанных вопросов^_^