Ich habe zwei Tabellen: shop_item
(Eltern) und shop_products
(Kinder). In der Tabelle shop_products
gibt es die Spalte shop_item_id
, die angibt, was seine Eltern sind. Manche Eltern haben viele Kinder. In der Tabelle shop_products
befindet sich auch die Spalte shop_number
, die eindeutig ist. Mein Ziel ist es, alle Eltern mit Kindern beginnend mit 123
(zum Beispiel) zu finden. Ich kann es von achive:Get Gesamtzahl der Datensätze von Kindern in SQL
SELECT shop_products.shop_number, shop_products.shop_item_id, shop_item.*
FROM shop_products,
shop_item
WHERE shop_products.shop_number LIKE '123%'
AND shop_item.id = shop_products.shop_item_id;
Dieser funktioniert, aber ich möchte auch einige dieser Kinder bekommen (weil als Folge ich Eltern bekommen), aber ich weiß nicht, ob es überhaupt möglich ist.
EDIT:
Beispiel Tabelle shop_item
:
+----+-------+-----+
| id | name | ... |
+----+-------+-----+
| 1 | test1 | ... |
| 2 | test2 | ... |
| 3 | test3 | ... |
| 4 | test4 | ... |
+----+-------+-----+
Beispiel Tabelle shop_products
:
+----+--------------+-------------+-----+
| id | shop_item_id | shop_number | ... |
+----+--------------+-------------+-----+
| 1 | 1 | 12345 | ... |
| 2 | 2 | 1234567 | ... |
| 3 | 1 | 14486 | ... |
| 4 | 3 | 32333 | ... |
| 5 | 1 | 12399 | ... |
| 6 | 4 | 12325 | ... |
| 7 | 2 | 25511 | ... |
| 8 | 1 | 42387 | ... |
+----+--------------+-------------+-----+
erwartend Ergebnis:
+----+----------+-----+
| id | children | ... |
+----+----------+-----+
| 1 | 2 | ... |
| 2 | 1 | ... |
| 4 | 1 | ... |
+----+----------+-----+
Fügen Sie eine Beispieltabelle und das erwartete Ergebnis hinzu (gerade genug, um das Problem zu beschreiben). – jarlh
@jarlh siehe bearbeiten. – debute