webForumDet fria alternativet

select från 3 tabeller

5 svar · 391 visningar · startad av greymane

greymaneMedlem sedan juli 2001711 inlägg
#1

jag har tre tabeller: BOM (kolumner: ID,product_ID, qty_per_unit), material_price_list (kol: ID, material_name), products (kol: ID, product_name)

jag vill få fram en lista som innehåller products.product_name, material_price_list.material_name och BOM.qty_per_unit.

hur i hela fridens namn reder jag ut det?

hade ju tänkt mig nåt i stil med

SELECT product_name, material_name
FROM products, material_list, BOM
WHERE products.id=1 And BOM.product_ID=products.id and bom.materials_ID=material_list.ID;

men det är ju säkert knappt nära..

nån som har nåt tips?

The_HulkMedlem sedan juni 20031 837 inlägg
#2

du verkar har missat något i din definition av BOM-tabellen, där finns inget som heter materials_ID.

Följande kanske kan fungera:

SELECT p.product_name, m.material_name, q.qty_per_unit
FROM products AS p 
JOIN BOM AS b ON b.product_ID=p.id 
JOIN material_list AS m ON m.ID=b.materials_ID
WHERE p.id=1;
greymaneMedlem sedan juli 2001711 inlägg
#3

jag får syntax-fel kring FROM. vad kan det vara tror du?

CatZMedlem sedan jan. 20022 440 inlägg
#4

greymane skrev:

jag får syntax-fel kring FROM. vad kan det vara tror du?

databas typ?

greymaneMedlem sedan juli 2001711 inlägg
#5

den första JOIN markeras också efter felmeddelandet.
jag kör access 2000, standardkonfiguration

The_HulkMedlem sedan juni 20031 837 inlägg
#6

aha, har ingen aning om vad access stödjer. hoppas någon annan kan hjälpa dig.

Man kan göra det utan JOIN och då kan det se ut så här:

SELECT p.product_name, m.material_name, q.qty_per_unit
FROM products AS p, BOM AS b, material_list AS m
WHERE p.id=1 AND b.product_ID=p.id AND m.ID=b.materials_ID;
127 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)