Solved

Query of Queries Issues

Posted on 2013-06-26
11
264 Views
Last Modified: 2013-06-28
I have the following query, does not seems to work i am using CF10. it is showing nothing:

<cfquery name = "qryCPTDetails" datasource=#request.DSN# >
      SELECT response as response FROM table WHERE PFORMID=
      (SELECT MAX(PFORMID) FROM pForms WHERE patientId=#patind# and formId=11)
</cfquery>
<cfdump var="#qryCPTDetails#">
<cfquery name = "qryCPTDetailsPending" dbtype="query">
      SELECT * from qryCPTDetails
    where #GetToken(response,2,'ü')# = 'pending'
</cfquery>


string is like this

22208 :  ADL SEGünoncertifiedñ06/23/2013
i tried even using the function inside the cfquery, it still throws error, still lost what causing this
0
Comment
  • 4
  • 3
  • 3
  • +1
11 Comments
 
LVL 19

Expert Comment

by:Bhavesh Shah
ID: 39280459
m not sure,

but can u try with this one.

SELECT ASCII('ü'),CHAR(252)

<cfquery name = "qryCPTDetailsPending" dbtype="query">
      SELECT * from qryCPTDetails 
    where #GetToken(response,2,CHR(252))# = 'pending'
</cfquery>

Open in new window

0
 
LVL 16

Author Comment

by:Gurpreet Singh Randhawa
ID: 39280584
thanks but this is not a related answer, my question why CF functions does not inside cfquery, i know they work, but why not in CF 10. Maybe i am missing something
0
 
LVL 36

Expert Comment

by:SidFishes
ID: 39281458
query of queries have very limited allowed functions. You can't even do things like

left(response)


What are you trying to do?
0
Webinar: Aligning, Automating, Winning

Join Dan Russo, Senior Manager of Operations Intelligence, for an in-depth discussion on how Dealertrack, leading provider of integrated digital solutions for the automotive industry, transformed their DevOps processes to increase collaboration and move with greater velocity.

 
LVL 52

Expert Comment

by:_agx_
ID: 39281794
I think the closest you can get is to use LIKE.  Don't forget QoQ's are case sensitive too

WHERE  lower(response) LIKE <cfqueryparam value"%üpendingü%" cfsqltype="cf_sql_varchar">

Open in new window


query of queries have very limited allowed functions.

Yep. IIRC, the only functions QoQ's supports are:  

* UPPER()
* LOWER()
* CAST()

Maybe one more, but nothing else.
0
 
LVL 16

Author Comment

by:Gurpreet Singh Randhawa
ID: 39282061
ok, that is limitation of QoQ, why i am unable to use the function inside the cfquery which uses the datasource
0
 
LVL 36

Expert Comment

by:SidFishes
ID: 39282097
you say you are getting an error...please post it
0
 
LVL 52

Accepted Solution

by:
_agx_ earned 500 total points
ID: 39282130
why i am unable to use the function inside the cfquery which uses the datasource

Because CF code can't run inside a database.  The two are totally separate. CF knows nothing about SQL and your db knows nothing about CFML.

When you run a cfquery, the CF server first translates all the variables/functions:

<cfset something = "john"
<cfquery name="q" ...>
        SELECT Columns FROM Table WHERE ColumnName = '#something#'
</cfquery>

into plain text values.  Then plugs them into the SQL string:

      SELECT Columns FROM Table WHERE ColumnName = 'john'

Finally it sends the plain text sql on to the db.  The db never sees any CF variables or functions. They're evaluated long before the SQL ever makes it to the db.
0
 
LVL 16

Author Comment

by:Gurpreet Singh Randhawa
ID: 39282166
ok, i think i missing something here :

SELECT {fn Left(Title, 50)} As ShortTitle
  FROM mytable

Left is also a CF Function and Left is also in sql [so probably it is referring to the scalar function which is present in sql]

correct me if i am wrong
0
 
LVL 52

Expert Comment

by:_agx_
ID: 39282240
Correct.  Though they both have left() functions, that statement is using your database's left() function - not the CF #left()# function.
0
 
LVL 36

Expert Comment

by:SidFishes
ID: 39284281
Not that it really matters but I'd point out that my answer that QofQ can't do that is correct....
0
 
LVL 52

Expert Comment

by:_agx_
ID: 39285264
I agree with Sid. The question was "what's causing this error".  The correct answer is QoQ's don't support it. My remarks just elaborate on that, but the correct answer was already given.
0

Featured Post

Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

PROBLEM: How to add your own buttons to the bottom toolbar with paging info ( result count ). While creating a cfgrid, I ran into an issue where I wanted to embed my own custom buttons where the default ones ( insert / delete / etc… ) are for aes…
Hi. There are several upload tutorials using jquery and coldfusion. I found a very interesting one here Upload Your Files using Jquery & ColdFusion and Preview them (http://www.randhawaworld.com/) . I did keep the main js functions but made sever…
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …
Two types of users will appreciate AOMEI Backupper Pro: 1 - Those with PCIe drives (and haven't found cloning software that works on them). 2 - Those who want a fast clone of their boot drive (no re-boots needed) and it can clone your drive wh…

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question