War nicht sicher, wie Sie die Frage schreiben sollten.So fügen Sie Daten aus zwei Abfragen in die Beziehungstabelle ein
Ich habe diese drei Tabellen:
PICTURES
id
name
MATERIALS
id
name
PICTURES_MATERIALS
picture_id
material_id
Ich habe Tausende von Bildern und 5 Materialien und die meisten Bilder haben alle Materialien. Mit dieser Abfrage habe ich herausgefunden, dass etwa 100 Bilder kein Material haben.
select p.id, p.name
from pictures as p
left outer join pictures_materials as pm on p.id = pm.picture_id
where pm.picture_id is null;
Was würde ich jetzt tun möchte, ist in pictures_materials für jedes dieser Bilder mit jedem Material eine Zeile einzufügen. So lassen Sie uns sagen, dass diese einige der Bilder ohne Materialien sind:
picture_21, picture_22, picture_23
Ich möchte haben:
picture_21 material_1
picture_21 material_2
picture_21 material_3
picture_21 material_4
...
Ist es möglich, diese in einer einzigen INSERT INTO-Abfrage zu tun?
danke, das ist perfekt. Aus Neugier, wofür steht 'dt'? – Carlo
dt - abgeleitete Tabelle. Das könnte sein, wie sie in Sybase & SQL Server genannt werden. Oracle nennt sie Inline-Ansichten. Ich müsste nachsehen, was MySQL sie nennt. Grundsätzlich verweisen Sie die Ergebnisse einer Abfrage als Tabelle. –
Ich wusste, wie das funktioniert, ich konnte einfach nicht herausfinden, wofür der Alias stand – Carlo