webForumDet fria alternativet

SQL-nöt del 2

7 svar · 312 visningar · startad av trexter

trexterMedlem sedan mars 20021 889 inlägg
#1

Jag vill hämta Tillverkare.TillverkareNamn utifrån Arenden.ArendeID. Vägen dit går på följande sätt:

Arenden.ArendeID - Arenden.ArendeProdukt <-> Produkter.ProduktID - Produkter.ProduktTillverkare <-> Tillverkare.TillverkareID - Tillverkare.TillverkareNamn

"-" betyder att kolumnerna på respektive sida finns i samma tabell.
"<->" betyder att kolumnerna på respektive sida finns i olika tabeller men att de är kopplade mellan de två aktuella kolumnerna.

:)

@ndersMedlem sedan juni 200032 969 inlägg
#2
SELECT t.TillverkareNamn
FROM Tillverkare t
INNER JOIN Produkter p ON t.TillverkareID = p.ProduktTillverkare
INNER JOIN Arenden a ON p.ProduktID = a.ArendeProdukt AND a.ArendeID = 4711
trexterMedlem sedan mars 20021 889 inlägg
#3

Tack! En sak, ska det gå att kombinera en Insert Into med en SELECT (i samma SQL-sats alltså)?

dvs.
insert into t (a, b) values ('select xx from t2 where yada-yada', 'b-value')

Detta fick jag inte att fungera men det är kanske inte rätt syntax-mässigt? :)

trexterMedlem sedan mars 20021 889 inlägg
#4

Skulle t ex vilja kombinera dessa för att ta ett annat exempel:

strSQL = "select FeltextText1 From Feltexter f INNER JOIN Arenden a ON f.FeltextID = a.ArendeFelText where a.ArendeID = "&Request.QueryString("ArendeID")
strSQL = "select ProduktID From Produkter p INNER JOIN Arenden a ON p.ProduktID = a.ArendeProdukt where a.ArendeID = "&Request.QueryString("ArendeID")
strSQL = "select from RMATillTillverkare.RMAnr, RMATillTillverkare.Fabrikat, RMATillTillverkare.SerieNr, .......
@ndersMedlem sedan juni 200032 969 inlägg
#5

insert into t (a, b) values ('select xx from t2 where yada-yada', 'b-value')

Detta fick jag inte att fungera men det är kanske inte rätt syntax-mässigt?

Nej, inte helt rätt syntax, men på rätt väg.

insert into t (a, b) select xx, 'b-value' from t2 where yada-yada

Vad menar du med ditt senaste inlägg?

trexterMedlem sedan mars 20021 889 inlägg
#6

De tre SQL-satserna vill jag sammanfoga till en. (Den tredje är inte avslutad.)

De två första hämtar poster om Arenden.ArendeID = xx
Den tredje ska hämta poster om RMATillTillverkare.RMAnr = xx

Det är alltså nästan samma kriterium (xx) i alla tre fallen.

trexterMedlem sedan mars 20021 889 inlägg
#7

Okj, nytt försök att förklara.

Jag vill lista fram en tabell med ett antal poster.
- Jag vill hämta ett antal kolumner från tabellen RMATillTillverkare (utan kriterium)
- Förutom data från denna tabell vill jag även ha data från:
----- Arenden.ArendeSerieNr - men endast där Arenden.ArendeID = RMATillTillverkare.RMAnr
----- Produkter.ProduktID - men endast där Arenden.ArendeID = RMATillTillverkare.RMAnr. Vägen till Produkter.ProduktID går Arenden.ArendeID - Arenden.ArendeProdukt <-> Produkter.ProduktID
----- Feltexter.FeltextText1 - men endast där Arenden.ArendeID = RMATillTillverkare.RMAnr. Vägen till Feltexter.FeltextText1 går Arenden.ArendeID - Arenden.FelText <-> Feltexter.FeltextID - Feltexter.FeltextText1

Denna, inkorrekta, SQL-strängen visar kanske lite mer hur jag tänkt

strSQL = "select RMATillTillverkare.RMAnr, "&_
		"RMATillTillverkare.Fabrikat, Arenden.SerieNr, "&_
		"Produkter.ProduktID Feltexter.FelText1 from RMATillTillverkare, Produkter, Arenden "&_
		"INNER JOIN Produkter ON "&_
		"Produkter.ProduktID = Arenden.ArendeProdukt "&_
		"INNER JOIN Feltexter ON Feltexter.FeltextID = Arenden.ArendeFeltext"

Vore mycket tacksam för svar på detta! :bire

trexterMedlem sedan mars 20021 889 inlägg
#8

Ingen? :(
Fråga om något är oklart! :)
Kanske går inte allt att göra i en SQL-fråga (?) men i så fall - hur ska SQL-frågorna se ut?

131 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)