Hej, mina sql-kunskaper tog slut... :q
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...
Tacksam för svar!
Oops, glömde säga: SQL-server - Asp
LarsGMedlem sedan dec. 200012 464 inlägg Vilka kolumner finns i tabellerna?
@ndersMedlem sedan juni 200032 969 inlägg typ:
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...)
Ett urval av tabeller och kolumnnamn. Tabell maskin är endast där för att får fram info om maskinen.
Tabell Bestallning
-idnummer
-artnr
-maskinnummer
-huvudArt
-underArt
-artLank (idnummer till huvudartikel)
Maskin
-maskinnummer
-info
Jag vet alltså inte vad några ordernummer är utan den enda inputen jag har är ett maskinnummer.
@ndersMedlem sedan juni 200032 969 inlägg Då borde du kunna ta hjälp av mitt exempel ovan, och modifiera för att få det som du vill. :)
@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...
PS. UnderArt och HuvudArt är av typ bit...
@ndersMedlem sedan juni 200032 969 inlägg
PS. UnderArt och HuvudArt är av typ bit...
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.
@nders, "skit in skit ut" brukar det väl heta när man tror att man kan gena något i föklaringar. Jag gör ett nytt försök för att jag skäms:
Tabell Bestallning
-idnummer
-artnr
-maskinnummer
-huvudArt (bit)
-underArt (bit)
-artLank (idnummer till huvudartikel)
Maskin
-maskinnummer
-info
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)...