Есть ли способ сохранить несколько дат в таблице с потенциалом роста?

#sql #sqlite

#sql #sqlite

Вопрос:

У меня есть такая таблица в SQLITE3 :

введите описание изображения здесь

Мне нужно запрашивать эту таблицу по ID|DOC_ID|TRANS_DOC_ID и, что наиболее важно, по DATE , потому что мне нужно получать данные изо дня в день. пример: TODAY|YESTERDAY|ETC

Пока запрос прост, так как я могу просто сделать это, чтобы получить строки по дням:

SELECT * FROM CLIENTRECORD WHERE DATE = '2020-12-01'

Проблема в том, что мне нужно отображать определенные записи в другие даты:

пример: у меня есть строка с DATE 2020-12-01 , но я также хочу, чтобы она отображалась на DATE 2020-01-01 или, может 2020-01-02 быть, и т.д. Что мне делать в этой ситуации? и поэтому я подумал о добавлении другого столбца, DATES который должен был представлять собой массив дат, разделенных запятыми, НО я понял, что это ПЛОХОЕ решение, я также подумал о добавлении отдельной ТАБЛИЦЫ только для дат, но поскольку даты не являются фиксированными (они могут содержать 1 дату или, может быть, даже 10, которыезнает), я не понимаю, что я должен делать.

Конечная цель состоит в том, что строка может содержать или не содержать более 1 даты, будет выглядеть примерно так, если я хочу запросить строку с несколькими датами или без них:

SELECT * FROM CLIENTRECORD WHERE DATE = '2020-12-01' OR DATES LIKE '2020-12-01'

что-то похожее на это.

Комментарии:

1. «Я хочу отображать определенные записи в другие даты». Хорошо, включите эти даты в ваше where предложение. Я немного смущен тем, что вы спрашиваете.

2. нет, мне нужно связать строку с другими датами, я пытаюсь сказать, что строка может содержать не более 1 даты.

3. Разве ваша проблема не решена с WHERE DATE IN ('2020-12-01', '2020-12-02', ....) помощью? Вы должны уточнить, что вы хотите.

4. @forpas Как я уже говорил, я хотел, чтобы строка содержала более 1 даты, но не знаю, как вставить более 1 даты в строку. Есть ли что-то, что я плохо объясняю? пожалуйста, дайте мне знать. DATE поле не может содержать более 1 даты, поэтому я попытался использовать DATES field, но я не уверен, идеально ли это или даже как запросить его позже, поскольку строка может содержать более 1 даты, сколько? на самом деле не знаю, поскольку пользователь может добавлять столько дат, сколько захочет.

5. Создайте еще одну таблицу с 2 столбцами: столбцом, который будет ссылкой на первичный ключ текущей таблицы, и датой. Итак, если для строки в вашей текущей таблице требуется 10 дат, у вас будет 10 строк в новой таблице с тем же значением для 1-го столбца и 10 дат для столбца даты. Когда вам нужно запросить текущую таблицу, вы просто присоедините ее к новой таблице, и ссылка будет первичным ключом текущей таблицы и 1-го столбца новой таблицы. Прочитайте это: sqlitetutorial.net/sqlite-inner-join