Solved

Query of Queries Issues

Posted on 2013-06-26
11
255 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
Question by:myselfrandhawa
  • 4
  • 3
  • 3
  • +1
11 Comments
 
LVL 19

Expert Comment

by:Bhavesh Shah
Comment Utility
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 15

Author Comment

by:myselfrandhawa
Comment Utility
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
Comment Utility
query of queries have very limited allowed functions. You can't even do things like

left(response)


What are you trying to do?
0
 
LVL 52

Expert Comment

by:_agx_
Comment Utility
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 15

Author Comment

by:myselfrandhawa
Comment Utility
ok, that is limitation of QoQ, why i am unable to use the function inside the cfquery which uses the datasource
0
Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

 
LVL 36

Expert Comment

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

Accepted Solution

by:
_agx_ earned 500 total points
Comment Utility
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 15

Author Comment

by:myselfrandhawa
Comment Utility
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_
Comment Utility
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
Comment Utility
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_
Comment Utility
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

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

The technique is by far very Simple! How we can export the ColdFusion query results to DOC file?  Well before writing this I researched a lot in Internet but did not found a good Answer anyways!  So i thought now i should share my small snippet w…
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…
It is a freely distributed piece of software for such tasks as photo retouching, image composition and image authoring. It works on many operating systems, in many languages.
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.

743 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

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now