2009-06-05 2 views
1

Я хотел бы иметь столбец в моей таблице, который может хранить переменную сумму значений int. Каков наилучший способ сделать это? Я хотел бы иметь возможность выбирать на основе этих ints, поэтому список csv не будет работать.Как вставить несколько значений в один столбец с помощью sqlite?

В основном у меня есть группа строк в таблице, которая может принадлежать нескольким различным категориям. Я хотел бы сохранить идентификаторы категорий в своей таблице и иметь возможность выбирать строки по категориям, к которым они принадлежат. Я считаю, что это называется отношением многих-многих. Я использую sqlite.

ответ

6

Вам понадобится промежуточная таблица, в которой каждая строка является элементом и категорией.

 
ItemID   Category 
111    1 
111    2 
222    1 
222    2 
222    3 
333    3 

Чтобы выбрать все элементы, основанные на категории (скажем, категория 2), можно сделать следующий запрос

SELECT * FROM Items AS I INNER JOIN ItemsInCategories AS N ON N.ItemID = I.ItemID WHERE N.Category = 2 

И заносить бы

 
ItemID 
111 
222 
4

многие ко многим отношений должен выполняться с использованием таблицы сопоставления. Не путем взлома многозначного типа столбца

Например этот BlogPost < -> Категория образец:

Blog 
    Id 
    Title 
    Content 

Category 
    Id 
    Title 

Blog_Category 
    BlogId 
    CategoryId 

Это означает, что, когда BlogPost с идентификатором 12, является частью категории 3,5 и 10, Blog_Category содержит следующие строки:

12, 3 
12, 5 
12, 10 
Смежные вопросы