Как вставить в каждое поле - PullRequest
0 голосов
/ 26 июня 2019

У меня есть таблица "Macchine", которая содержит все автомобили, принадлежащие человеку.

таблица "dispSicurezza" содержит все устройства безопасности, которые должны быть у каждого автомобиля.

DispSicurezza             Macchine
------------            -----------
IDs Detail                 IDm  
1   red                    A
2   yellow                 B
3   blue                   C

Мне нужно составить третью таблицу, которая содержит для каждого автомобиля все защитные устройства, содержащиеся в таблице "dispSicurezza"

я хочу получить третью таблицу, подобную этой

DispSicMacch
-------------------
IDs IDm
1   A
2   A
3   A
1   B
2   B
3   B
1   C
2   C
3   C

Я не очень хорош в MySQL, надеюсь, вы мне поможете.

Ответы [ 3 ]

2 голосов
/ 26 июня 2019

Вам необходимо использовать create table as select... с перекрестным соединением таблиц:

create table if not exists DispSicMacch as
select d.IDs, m.IDm 
from DispSicurezza d cross join Macchine m;

См. Демоверсию .
Результаты:

| IDs | IDm |
| --- | --- |
| 1   | A   |
| 2   | A   |
| 3   | A   |
| 1   | B   |
| 2   | B   |
| 3   | B   |
| 1   | C   |
| 2   | C   |
| 3   | C   |
0 голосов
/ 26 июня 2019

Вам нужна таблица, которая соответствует macchine и dispSicurezza.

Таблица должна быть:

ID  |ID_macchine | ID_dispSicurezza
1   |  A         |    1
2   |  A         |    2
3   |  A         |    3
1   |  B         |    1
2   |  B         |    2
3   |  B         |    3
1   |  C         |    1
2   |  C         |    2
3   |  C         |    3


CREATE TABLE macchine_dispSicurezza(
    id int NOT NULL AUTOINCREMENT,
    id_macchine int,
    id_dispSicurezza int,
    PRIMARY KEY (id),
    FOREIGN KEY (id_macchine) REFERENCES macchine(idM),
    FOREIGN KEY (id_dispSicurezza) REFERENCES dispSicurezza(idS)
);
0 голосов
/ 26 июня 2019

Вам просто нужен базовый JOIN между DispSicurezza и Macchine

SELECT IDs, IDm FROM DispSicurezza JOIN Macchine

Вот полная документация по JOIN в MySQL. https://dev.mysql.com/doc/refman/8.0/en/join.html

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