Datenbankverknüpfung

AS-N

Grünschnabel
Hallo,

unser Datenbankmensch ist diese Woche im Urlaub und nun muss ich mich darum kümmern, deshalb die bitte um Hilfe.

Ich habe zwei Tabellen:

products
products_relations

In der products stehe die Werte products_id und products_model.
In der products_relations stehen master_id und slave _id.

Ich muss nun einen Befehl basteln, der anhand zweier vorgegebnen Werte aus products_model sich die zugehörige products_ids aus der products raussucht und diese in die products_relation als master_id und die andere als slave_id einträgt.
 
etwa so?
SQL:
INSERT INTO products_relations (master_id, slave _id)
SELECT master_id, slave_if
FROM
	(SELECT products_id AS master_id
	FROM products
	WHERE products_model = 'master-model') AS master
	(SELECT products_id AS slave_id
	FROM products
	WHERE products_model = 'slave-model') AS slave
 
Zuletzt bearbeitet von einem Moderator:
Code:
INSERT INTO products_relations (master_id, slave_id)
SELECT master_id, slave_id
FROM    
(SELECT products_id AS master_id FROM products 
WHERE products_model = 100200) AS master   
(SELECT products_id AS slave_id FROM products
WHERE products_model = 100210) AS slave;

Kommt aber ein Fehler:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(SELECT products_id AS slave_id FROM products WHERE products_model = 100210) AS ' at line 1
 
Zuletzt bearbeitet:
Danke,

ich hatte aber nochwas vergessen, es muss noch eine sort_nr mit rein, die aber in keiner Tabelle steht, sondern mit dem Befehl übergeben wird:

Code:
INSERT INTO products_relation (master_id, slave_id, sort_nr)
SELECT master_id, slave_id, sort_id
FROM    
(SELECT products_id AS master_id FROM products  WHERE products_model = 100200) AS master,   
(SELECT products_id AS slave_id FROM products WHERE products_model = 100210) AS slave;
 
Einfach im SELECT anhängen
SQL:
INSERT INTO products_relations (master_id, slave _id, sort_nr)
SELECT master_id, slave_if, 123 AS sort_nr
...
 
Zuletzt bearbeitet von einem Moderator:
Zurück