Jump to content

Simplifying SELECTed sub-queries


gin

Recommended Posts

Observe the query below, not inserted as code so you can see the colours. The two lines in red are identical.

=======================

SELECT

IF (

qtype<>2, package, package*(

SELECT usd_conv FROM quotes_default def WHERE def.date <= DATE(modified) ORDER BY def.date DESC LIMIT 1

)

) as ptotal,

IF (

qtype<>2, gpackage, gpackage*(

SELECT usd_conv FROM quotes_default def WHERE def.date <= DATE(modified) ORDER BY def.date DESC LIMIT 1

)

) as gptotal

FROM jobs j

=======================

 

Basically, I'm wondering if there's a way simplify this. Something like below, which I know doesn't work, but you get the idea? To put the results of the red sub-query into a variable, then use the variable elsewhere.

=======================

SELECT

(SELECT usd_conv FROM quotes_default def WHERE def.date <= DATE(modified) ORDER BY def.date DESC LIMIT 1) AS rate,

IF (

qtype<>2, package, package*rate

) as ptotal,

IF (

qtype<>2, gpackage, gpackage*rate

) as gptotal

FROM jobs j

=======================

Link to comment
https://forums.phpfreaks.com/topic/254855-simplifying-selected-sub-queries/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.