Ich habe diese 3 Tabellen in meinem DB: product (id, sku, type, price)
, product_relation (parent_id, child_id)
und product_stock (product_id, quantity, in_stock)
. Es gibt mögliche Beziehungen zwischen Produkten: Produkt vom Typ X kann ein Elternteil sein (kann aus bestehen) zu mehreren Produkten vom Typ Y (Beziehung gehalten in product_relation
Tabelle). Setzen Sie in DB-Produkten vom Typ X immer die Menge auf 0. Jetzt ist die Sache. Ich brauche nur Produkte (sku
und id
) vom Typ X, die auf Lager sind (in_stock = true
) und mindestens eines ihrer Kinder hat quantity > 0
oder in_stock = true
.korrekte Verwendung von Unterabfragen mit mysql
Ich bin darauf für mehrere Stunden fest. Ich kann dafür keine gute Frage stellen. Der nächstgelegene ich erreicht ist
SELECT a.`id`, a.`sku` FROM `product` AS a
INNER JOIN `product_stock` AS b
ON a.`id` = b.`product_id`
INNER JOIN `product_relation` AS c
ON c.`child_id` = b.`product_id`
WHERE b.`in_stock` = 1 AND a.`type` = 'X'
aber es ist nicht gut, weil viele Teile fehlen. Ich weiß nicht, ob dies nur von Joins behandelt werden kann oder Unterabfragen haben Hilfe bitte.