Just nu i M3-nätverket
Gå till innehåll

Använda "hittat" värde som variabel i nästa select-sats


Nuggit

Rekommendera Poster

Hejsan!

 

Jag har en kort fråga den här gången.

 

Går det att använda ett värde ifrån en kolumn som variabel i nästa select-sats.

 

Har en lång select-sats som ser ut ungefär såhär

Select part_no as part,
(select sales_price from sales_orders where sales_order_part_id = part_catalog.part_id and part_catalog.part_no='abc-123')

FROM part_catalog 

Detta är bara ett exempel för att visa hur jag tänker så logiken är kanske inte fungerande.

Det jag undrar är om det i den nästlade select-satsen går att använda PART (as part) som vilkor. alltså :

 

(select sales_price from sales_orders where sales_order_part_id = part_catalog.part_id and part_catalog.part_no = PART)

 

Detta kanske inte ger så stor fördel just i det här fallet, men i längre sql-satser skulle detta underlätta väldigt

 

Länk till kommentar
Dela på andra webbplatser

Det borde man kunna göra genom att använda INNER JOIN i frågan.

Behöver du verkligen använda både part_catalog.part_id och part_catalog.part_no ?

Länk till kommentar
Dela på andra webbplatser

Hej Jonas, jag tog bara ett "värdelöst" exempel för att statuera min fråga. 

Så ingen logik just i den SQL-frågan.

 

Det jag behöver är helt enkelt att om jag tagit fram ca 20 kolumner ifrån en tabell, sen behöver jag andra tabeller, (därav mina nästlade select-satser) men har hamnat nu att den nästkommande select-satsen är i behov av datan som jag hittade i selectsatsen innan. och istället för att kopiera och klistra in och köra samma select-sats 4-5 ggr vill jag bara använda sparade datan och bara använda värdet.

Länk till kommentar
Dela på andra webbplatser

Då kommer frågan "hur"?:-)

 

Det går inte att göra select part_no AS PART

(SELECT * FROM TABLE WHERE part_no = PART)

Alltså sätta in det namnet som givits efter = ...

Länk till kommentar
Dela på andra webbplatser

Nej, du kan inte använda column-aliaset part i sub-selecten, däremot kan du ju använda part_no.

 

Det finns lösningar, som derived tables och WITH/CTE för att förenkla på det som du är ute efter. Eller bara en hederlig vy!

Länk till kommentar
Dela på andra webbplatser

Ok, tack JarlH det var det jag misstänkte, men tänkte att det vore trevligt att få använda sig av aliaset:)

 

Stort tack iaf!

/Niklas

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...