Har två tabeller, Beställning och Maskin. På en beställning har jag egenskaper som Underartikel, Huvudartikel och Artikellänk.
På en maskin har jag beställningar som är huvudartikel och på andra maskiner har jag beställningar som är underartikel med artikellänk till huvudartikeln.
Hur ställer jag en sql så att resultatet blir:
#Huvudartikel 1
##Underartikel 1 till huvudart1
##Underartikel 2 till huvudart1
#Huvudartikel 2
##Underartikel 1 till huvudart2
etc...
select m.artikelnamn as huvudartikel, m.artikellänk,
m2.artikelnamn as underartikel
from beställningar b
inner join maskiner m
on b.huvudartikel = m.artikelnummer
left join maskiner m2
on b.underartikel = m2.artikelnummer
where b.ordernummer = 4711
order by huvudartikel, underartikel
(utan att veta vad dina kolumner heter, så det är bara en gissning...)
@nders, jag är troligtvis inte väluppfostrad men jag vet att om man inte är snäll på fredag så får man inget lördagsgodis. Känner inte du igen det? ;-)
Nä, jag inser inte hur den satsen du ger exempel på ska kunna ge svar som jag önskar. Du får väl dubletter på de "olika" artikelnumrerna? Helst vill jag ha en sql-sats som ger mig mindre logik i asp...
Du får väl kläcka ur dig redan från början hur allt hänger ihop, så man slipper skriva en massa skräp i onödan. :)
Eftersom, som du säger, det är fredag, så är hjärnan slö, och jag är inte helt säker på vad du är ute efter. Vill du alltså ha alla beställningar där en viss pryttel finns med antingen som huvud- eller underartikel? Försök gärna beskriva exakt vad du vill ha. Exemplifiera tabellinnehåll och exakt vad du vill ha ut.
En beställning görs på maskin 91 som sätts som huvudartikel. Två beställningar görs på maskin 6 som är underartiklar till 91.
Nya beställningar görs som ovan fast där endast en underartikel läggs på maskin 62
Följande data i tabell Bestallning skulle kunna se ut så här: #idnummer | #artnr | #maskinnummer | #huvudart | #underArt | #artLank
#4991 | #'1234' | #91 | #1 | #0 | #''
#5010 | #'654A' | #6 | #0 | #1 | #'4991'
#5012 | #'321B' | #6 | #0 | #1 | #'4991'
#4993 | #'4567' | #91 | #1 | #0 | #''
#5015 | #'555A' | #62 | #0 | #1 | #'4993'
Sql-satsen bör ge resultat i form där varje rad har unika artnr som ovan.
@nders, det exemplet du gav ovan kan funka men jag får då endast 3 rader i resultatet och då blir det dubbletter på huvudartikelnumret (alltså inte bara skräpkod)...
137 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17