У меня 3 таблицы:
maintable(id, serialno, col3, col4, col5, ..., col10)
table1(t1_id, serialno, t1_type, t1_color)
table2(t2_id, serialno, t2_base, t2_price)
Первичный ключ maintable - id, а серийный номер - UNIQUE. Первичный ключ Table1 - t1_id, а table2 - t2_id. Table1 и Table2 serialno - это внешние ключи, которые ссылаются на серийный номер MainTable.
maintable имеет отношение "один ко многим" как с table1, так и с table2.
Я хочу объединить эти 3 таблицы в DataTable.
Сначала я подумал, что это будет просто, и попробовал: «ВЫБРАТЬ * ИЗ maintable INNER JOIN table1 ON maintable.serialno = table1.serialno INNER JOIN table2 ON maintable.serialno = table2.serialno WHERE maintable.id = 200»;
Проблема с результатом заключается в том, что если table1 имеет 3 строки, а table2 имеет 4 строки, тогда мой DataTable становится 12 строк (3x4). В этом случае я хочу просто получить 4 строки.
Столбцы table1 и table2 не имеют ничего общего друг с другом, и они должны соответствовать только серийному номеру maintable.
В случае, если меня не понимают, я хочу выбрать строки table1 и table2, которые соответствуют серийному номеру maintable, и добавить их справа от maintable, чтобы они не дублировались.
Изменить: Извините, в некоторых случаях я написал accountno вместо serialno.