У меня есть куча Xs в базе данных MySQL. Некоторые Xs не идут вместе, и я хочу, чтобы таблица содержала все пары Xs и логическое значение, которое говорит, что они в порядке или нет.Можно ли выполнять параллельные поля в SQL?
Эта часть достаточно проста:
CREATE TABLE good_x (
X_id_1 int(10) not null ,
X_id_2 int(10) not null ,
is_good tinyint(1)
) ;
Мой вопрос заключается в следующем: Учитывая Xsub1 и Xsub3 идут вместе.
SELECT is_good from good_x where X_id_1 = "Xsub1" and X_id_2 = "Xsub3" ;
Но что делать, если данные поступают в Xsub3, Xsub1? Я мог бы иметь две записи в таблице:
Xsub1,Xsub3,1
Xsub3,Xsub1,1
Но тогда вам нужно отслеживать две вещи. В моем случае это контролируемый словарь, поэтому я не ожидаю больших изменений. Но если я хочу добавить третий X, Xsub5, то вы получите шесть записей, с которыми можно столкнуться.
Xsub1,Xsub3,Xsub5,1
Xsub1,Xsub5,Xsub3,1
Xsub3,Xsub1,Xsub5,1
Xsub3,Xsub5,Xsub1,1
Xsub5,Xsub1,Xsub3,1
Xsub5,Xsub3,Xsub1,1
Сложность в обслуживании.
Есть ли способ, которым я могу бросить кучу Xs, двух или более, и связать это с логическим, поэтому мне не нужно иметь отдельные таблицы для парных, тройных, квадроциклов, квинтов и т. Д. это возможно в любом SQL, и если да, то какой синтаксис?
В этом случае Xsub * x * является идентификатором, а не самими данными. Просто чтобы сделать эту часть понятной. –
Возможно, вы сможете сортировать значения идентификаторов перед их просмотром. Тогда требуется только одна строка. –