Get maximum Date valued records
Hi,
I have a table like this
Table1 with columns SY,MID, EndDate, x,y,z
Here SY+MID+EndDate combination is Primary key.
I need to get all the lattest records (means max(enddate) for the given SY, MID.
Now I am writing like this:
Select t.SY,t.MID,t.Enddate,t.x,t.y,t.z
From Table t
Where Enddate=(select max(enddate) from table where sy=Paramsy and mid=paramMID)
Is there any way to get the desired result without writing the subquery.to get maximum enddate.
Thanks
EXPLAIN PLAN FOR
SELECT empno, ename, deptno
FROM emp
WHERE hiredate = (SELECT MAX(hiredate) FROM emp);
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1 | 21 | 6 (0)| 00:00:01 |
|* 1 | TABLE ACCESS FULL | EMP | 1 | 21 | 3 (0)| 00:00:01 |
| 2 | SORT AGGREGATE | | 1 | 8 | | |
| 3 | TABLE ACCESS FULL| EMP | 14 | 112 | 3 (0)| 00:00:01 |
EXPLAIN PLAN FOR
select empno,ename,deptno,hiredate from
(select empno,ename,deptno,hiredate,dense_rank() over(order by hiredate desc) rn from emp)
where rn = 1;
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 14 | 770 | 4 (25)| 00:00:01 |
|* 1 | VIEW | | 14 | 770 | 4 (25)| 00:00:01 |
|* 2 | WINDOW SORT PUSHED RANK| | 14 | 294 | 4 (25)| 00:00:01 |
| 3 | TABLE ACCESS FULL | EMP | 14 | 294 | 3 (0)| 00:00:01 |
CREATE INDEX ix_emp_hiredate
ON emp(hiredate)
TABLESPACE example;
exec dbms_stats.gather_schema_stats(USER, CASCADE=>TRUE);
EXPLAIN PLAN FOR
SELECT empno, ename, deptno
FROM emp
WHERE hiredate = (SELECT MAX(hiredate) FROM emp);
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1 | 21 | 5 (0)| 00:00:01 |
| 1 | TABLE ACCESS BY INDEX ROWID | EMP | 1 | 21 | 2 (0)| 00:00:01 |
|* 2 | INDEX RANGE SCAN | IX_EMP_HIREDATE | 1 | | 1 (0)| 00:00:01 |
| 3 | SORT AGGREGATE | | 1 | 8 | | |
| 4 | INDEX FULL SCAN (MIN/MAX)| IX_EMP_HIREDATE | 14 | 112 | | |
------------------------------------------------------------------------------------------------Just for comparison.
Similar Messages
-
Need a maximum date value using group by
Create table student (dept number(10), dep_name varchar2(10),join_date date,years_attended number(10),end_date date);
insert into student values (1,'I',to_date('3/7/1917','MM/DD/YYYY'),4,to_date('8/26/1987','MM/DD/YYYY'));
insert into student values (1,'I',to_date('1/1/1900','MM/DD/YYYY'),4,to_date('8/26/1932','MM/DD/YYYY'));
insert into student values (1,'D',to_date('1/1/1920','MM/DD/YYYY'),5,to_date('8/26/1994','MM/DD/YYYY'));
insert into student values (1,'C',to_date('1/1/1920','MM/DD/YYYY'),6,to_date('8/26/1945','MM/DD/YYYY'));
insert into student values (2,'I',to_date('7/1/1900','MM/DD/YYYY'),3,to_date('8/26/1932','MM/DD/YYYY'));
insert into student values (2,'I',to_date('8/16/1916','MM/DD/YYYY'),9,to_date('8/26/1923','MM/DD/YYYY'));
insert into student values (2,'D',to_date('8/16/1916','MM/DD/YYYY'),10,to_date('8/26/1987','MM/DD/YYYY'));
insert into student values (3,'I',to_date('3/7/1917','MM/DD/YYYY'),4,to_date('8/26/1987','MM/DD/YYYY'));
insert into student values (3,'D',to_date('7/28/1920','MM/DD/YYYY'),6,to_date('8/26/1945','MM/DD/YYYY'));
insert into student values (3,'I',to_date('7/28/1920','MM/DD/YYYY'),8,to_date('8/26/1965','MM/DD/YYYY'));
insert into student values (4,'I',to_date('12/31/1924','MM/DD/YYYY'),2,to_date('8/26/1998','MM/DD/YYYY'));
insert into student values (4,'I',to_date('6/10/1929','MM/DD/YYYY'),1,to_date('8/26/1943','MM/DD/YYYY'));
insert into student values (4,'C',to_date('1/17/1927','MM/DD/YYYY'),4,to_date('8/26/1955','MM/DD/YYYY'));
insert into student values (4,'C',to_date('6/10/1929','MM/DD/YYYY'),30,to_date('8/26/1967','MM/DD/YYYY'));
insert into student values (5,'D',to_date('2/10/1931','MM/DD/YYYY'),2,to_date('8/26/1943','MM/DD/YYYY'));
insert into student values (5,'I',to_date('2/10/1931','MM/DD/YYYY'),24,to_date('8/26/1962','MM/DD/YYYY'));
commit;I need a maximum date value join_date for each department. If max(join_date) has two records for each dept then max(end_date) should be considered. I have used a below select query
select * from student where join_date in (select
max(join_date) from student group by dept);which gives me the following result
1 D 1/1/1920 5 8/26/1994
1 C 1/1/1920 6 8/26/1945
2 I 8/16/1916 9 8/26/1923
2 D 8/16/1916 10 8/26/1987
3 D 7/28/1920 6 8/26/1945
3 I 7/28/1920 8 8/26/1965
4 I 6/10/1929 1 8/26/1943
4 C 6/10/1929 30 8/26/1967
5 D 2/10/1931 2 8/26/1943
5 I 2/10/1931 24 8/26/1962But I am looking for the result which gives me only one maximum value for each dept column. First it should look for maximum value of join_date, if two records has same join_date then max(end_date) should be considered. The result should be sumthing like this
1 D 1/1/1920 5 8/26/1994
2 D 8/16/1916 10 8/26/1987
3 I 7/28/1920 8 8/26/1965
4 C 6/10/1929 30 8/26/1967
5 I 2/10/1931 24 8/26/1962Can you please tell me how to rewrite the select query to get the above results.
Edited by: user11872870 on Aug 2, 2011 5:29 PM
Edited by: user11872870 on Aug 2, 2011 5:36 PMHi,
That's called a Top-N Query , and here's one way to do it:
WITH got_r_num AS
SELECT student.*
, ROW_NUMBER () OVER ( PARTITION BY dept
ORDER BY join_date DESC
, end_date DESC
) AS r_num
FROM student
SELECT dept, dep_name, join_date, years_attended, end_date
FROM got_r_num
WHERE r_num = 1
ORDER BY dept
;Another way is similar to what you originally posted:
SELECT *
FROM student
WHERE (dept, join_date, end_date)
IN (
SELECT dept
, MAX (join_date)
, MAX (end_date) KEEP (DENSE_RANK LAST ORDER BY join_date)
FROM student
GROUP BY dept
);I suspect the first way (using ROW_NUMBER) will be faster.
Also, the ROW_NUMBER approach is guaranteed to return only 1 row per dept. Using the GROUP BY approach,if there is a tie on join_date and end_date, then it will return all contenders in that dept. Using ROW_NUMBER, it's easy to add as many tie-breaking expressions as you want, and, if there is still a tie, it will arbirarily pick one of the rows involved in the tie as #1.
Thanks for posting the CREATE TABLE and INSERT statments! That's very helpful.
Edited by: Frank Kulash on Aug 2, 2011 9:00 PM
Added GROUP BY alternative -
How to find out Maximum date value in RPD.
Hi All,
I have a date column i want to get the maximum date value from that column. I am trying this expression MAX( "sales"."book"."date") in new logical column i am getting the RPD inconsistence error. Database is SQL server 2005. Is there any problem in my syntax?
Thanks in advance.Is that column date part of time dimension?
What does error say? syntax should be ok - maybe something to do with your DB settings in physical layer.
can you try to create the same column in Answers? (select fx button of the column and then add MAX ( ) around the column.
Edited by: wildmight on Jun 12, 2009 10:09 AM -
Hi
How to get least date value if my data is like this,
order_id date
121 03-mar-12
232 30-jan-10
343 14-may-11
I want to pic least date value(i.e. 03-mar-12) from the list
can any one help me on this
Thanks,
Lakshman
Edited by: kolipaka on Jun 29, 2012 4:21 PMHi, Lakshman,
kolipaka wrote:
Hi
How to get least date value if my data is like this,
order_id date
121 03-mar-12
232 30-jan-10
343 14-may-11
I want to pic least date value(i.e. 03-mar-12) from the list
can any one help me on this
Thanks,
Lakshman
Edited by: kolipaka on Jun 29, 2012 4:21 PM30-Jan-2010 is the earliest (least) date in that data (assuming that's a DATE column, and all the dates are in the same century). To find the earliest date, you could say:
SELECT MIN (dt) AS first_date
FROM table_x
;DATE is not a good column name, so I used DT instead.
03-Mar-2012 is the date related to the least order_id. To find that, you could say
SELECT MIN (dt) KEEP (DENSE_RANK FIRST ORDER BY order_id) AS dt_or_least_order_id
FROM table_x;If you wanted to find several columns from the row with the earliest order_id, you could do a Top-N Query , like this:
WITH got_r_num AS
SELECT x.*
, ROW_NUMBER () OVER (ORDER BY order_dt) AS r_num
FROM table_x x
SELECT * -- or list all columns except r_num
FROM got_r_num
WHERE r_num = 1
I hope this answers your question.
If not, post a little sample data (CREATE TABLE and INSERT statements, relevant columns only) for all the tables involved, and the results you want from that data.
Explain, using specific examples, how you get those results from that data.
Always say what version of Oracle you're using.
See the forum FAQ {message:id=9360002} -
Not getting proper date values for original GI Date
Hi,
I have to Calculate Original GI Date based on Original promise Date and transport Date(Original GI Date = Original promise Date-transport Date) and I am getting Original Promise date as"21112008" and transport date as"20112008". when I subtract in Update rules as formula as (Original promise Date-transport Date) getting Original GI DATE as"01000001" as it is giving wrong date values.please help me whether i am going right way or is there any thing else i have to select in Update rule level (formula) to get proper date values or how can i approach to get original GI date.
it is QUITE Urgent...please help any one to solve the Issue.
REGARDS
VENKAT.Hi Venkatesh,
Please search SDN forum before you post any questions. There are lots of threads available for this scenarios.
Use formula variables in Bex in order to achieve your requirement.
Links below, may be helpful:
Formula variable with replacement path on system date
How to creae days count variable in SAP BI-BEx
http://help.sap.com/saphelp_nw70/helpdata/en/f1/0a56a7e09411d2acb90000e829fbfe/frameset.htm
Regards,
Ravi Kanth. -
Sales order getting maximum doc value exceeds but not blocking.
Hi Experts,
My client using automatic credit control .
And for one risk category we have activated max doc value and sen the value is -0.01. It means even though for the free of charge sales orders also should be block.
I have created a sales order with free of charge item with value of 0.00 after getting warning message and it is blocking.
And i have one scenario for service items , where am creating sales order with value of 0.00 for the service items and while saving the sale order getting warning message and it is not blocking.
Why this sales order is not showing in vkm1 event though if i get warning message while saving the sales order time.
Please any body help out form this issue
Regards
VenkatHi
That i already setup and maximum doc.value i have set there -0.01.
The same functionality is working for diffrent sales document type,but it is not working for this service sales document processing.
Is there any scenario like if there is no delivery further process it should not block
Please revert immediately if any body knows
Regards
Venkat
Edited by: venkat s on Jun 8, 2009 1:28 PM -
How to get the Date value from DB
Hi All,
I give one string parameter (25-Jan-07). My database table stored in some dates and values. How i'll get the all date value(25-Jan-07) and the correspong values?
Thanks!SELECT *
FROM your_table
WHERE date_column = to_date('25-Jan-07', 'dd-Mon-yy')Why oh why oh why are you using dates with two-digits representing the year? In my opinion, this is bad and wrong. Be explicit; use 4 digits. is your "07" representing 1907? 2007? 2107? -
Hi everyone!
I want to change the status of button(OK -> Run) after choosen the date .(ex :the textbox default value is 2009/10/14,I choose the date 2009/10/10 from the B1 calendar form)
But after the status changed from OK -> Run,but the choosen date value doesnt change.
Anyone can tell me how change the date value. Thanks a lot
Code :
If pVal.BeforeAction Then
Else
If pVal.EventType = SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED Then
Select Case pVal.ItemUID
Case "201" ' date item
Button = form.Items.Item("3").Specific
Button.Caption = "Run"
End Select
End If
End IfSELECT *
FROM your_table
WHERE date_column = to_date('25-Jan-07', 'dd-Mon-yy')Why oh why oh why are you using dates with two-digits representing the year? In my opinion, this is bad and wrong. Be explicit; use 4 digits. is your "07" representing 1907? 2007? 2107? -
How to get shared date value from subreport to main report
Hi,
I need your help in passing the value of a running total that is located in the subreport to the main report. The running total in the subreport is getting the maximum of the Effective Date (which it is type in the database is date) for each group and it is value will change on the change of the sequence no. group. I am printing the value at the group footer which displayed correctly. Now my issue is that how to pass the value from the subreport to the main report as a date. I have created a formula that it is having the code:
shared datevar ddd := date(0,0,0);
ddd:={RTotl0}
The above formula is not compiled and it is first giving me an error at line 1 that date(0,0,0) is not accepted. Then when I removed it, it gave me an error that ddd:= can't have a running total to a datevar.
So can you please help in getting the value from the subreport and then to pass it to the main report as a formula as I need to include it in other formulas which it compares the dates.
ThanksHi Mohammed,
Are you displaying the shared variable on the Main Report's group footer as well?
Try changing the code to:
shared datevar ddd := cdate(0,0,0);
ddd:= date({RTotl0});
-Abhilash -
Trying to get a date value from a string
Hi All,
I'm not sure I am doing this right, so I figured I would ask the experts...
I have built a file upload page that is working the way I need it, but I have found that I need to determine the date from the uploaded file name. I tried to create a PL/SQL computation and do some substr / instr to the filename, but I'm not getting it as I get "ORA-01843: not a valid month" error. Here is the code I'm trying:
declare
v_underscore integer;
v_date varchar2(15); --have also tried using date datatype...
begin
v_underscore := INSTR(:P20_EXPRESS,'_',1,1);
v_date := to_date(substr(:P20_EXPRESS,v_underscore + 1,6),'YYMMDD');
return v_date;
end;And here is a sample filename:
F15047/proc_10607161001.csv
Is this the best way to achive what I'm trying to do?
Thanks,
CoreyHi,
v_underscore := INSTR(:P20_EXPRESS,'_',1,1);
v_date := to_date(substr(:P20_EXPRESS,v_underscore + 1,6),'YYMMDD');What this is saying is:
Get the position of the "_" character
Move to the next character to the right (which is a "1" in your case)
Get 6 characters (106071) from the string value
Convert them to a date using the format 'YYMMDD'
This results in:
Year: 10
Month: 60
Day: 71
Which of course is not valid.
For example:
select
substr('F15047/proc_10607161001.csv', instr('F15047/proc_10607161001.csv', '_', 1, 1) + 1, 6)
from
dual;
SUBSTR
106071It looks like you want to move two positions to the right rather than a single position:
select
substr('F15047/proc_10607161001.csv', instr('F15047/proc_10607161001.csv', '_', 1, 1) + 2, 6)
from
dual;
SUBSTR
060716Hope that helps a bit,
Mark -
Display returns latest data value rather than maximum data value.
I have requested the Maximum value using the Statistics VI. The display returns the latest value rather than the maximum. I think it may have to do with specifying the sample size or data packet size but I don't know how to do that.
You probably are only taking a single reading with the DAQ Assistant and the Statistics function expects an array to determine the max value in that array. There are a couple ways to do what you want. One way is to use the Array Min & Max Single Point function (Signal Processing>Point by Point>Other Functions). This has a sample length input and a reset input. Another way is to create an array with a shift register and use the Statistics function or just the Array Min & Max function. You could limit the size of the array with Array Subset for example.
To attach a file to your post, look below the message body. There is a Attachment field with a browse button.
Message Edited by Dennis Knutson on 06-29-2007 09:41 AM
Attachments:
Max value.PNG 7 KB -
How to get the data from a table cell
Could somebody suggest me how I can get the data value from a table cell if I set that cell a Double object previously.
Thanks very muchThanks for camickr's information.
And thanks uhrand,
I haven't got it sloved. I am sick on this problem.
I have the methods to let the table editable. My tableModel code is from Sun Tutorial.
It has the code like this:
public int getColumnCount() {
return columnNames.length;
public int getRowCount() {
return data.length;
public String getColumnName(int col) {
return columnNames[col];
public Object getValueAt(int row, int col) {
return data[row][col];
* JTable uses this method to determine the default renderer/
* editor for each cell. If we didn't implement this method,
* then the last column would contain text ("true"/"false"),
* rather than a check box.
public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
* Don't need to implement this method unless your table's
* editable.
public boolean isCellEditable(int row, int col) {
//Note that the data/cell address is constant,
//no matter where the cell appears onscreen.
if (col < 1) {
return false;
} else {
return true;
* Don't need to implement this method unless your table's
* data can change.
public void setValueAt(Object value, int row, int col) {
if (DEBUG) {
System.out.println("Setting value at " + row + "," + col
+ " to " + value
+ " (an instance of "
+ value.getClass() + ")");
data[row][col] = value;
fireTableCellUpdated(row, col);
if (DEBUG) {
System.out.println("New value of data:");
printDebugData();
public void printDebugData() {
int numRows = getRowCount();
int numCols = getColumnCount();
for (int i=0; i < numRows; i++) {
System.out.print(" row " + i + ":");
for (int j=0; j < numCols; j++) {
System.out.print(" " + data[i][j]);
System.out.println();
System.out.println("--------------------------");
} -
On migration of Mac Office Excel the date values are changed to mm/dd/yy
I recently upgraded to new iMac and migrated my MacOffice 2008 and now find that all my date data is forced into the American date format (mm/dd/yy). I have phoned Apple support - no help! Microsoft no online help. Not only is the entry data changed but I have to use the awkward data entry format of mm/dd/yy very unnatural to a non American.
I have searched in Excel preferences and confirmed my OS X 10.10 settings (languages and date formats) all using dd/mm/yy as input and display.
If I enter a date into the spreadsheet say 1/8/14 (meaning 1st August) it comes back with 8th January. Is there a fix or do I have to wear that nonsense?
Any ideas out there? This problem did not exist in Mavericks.
thanks, Sigikumar73 wrote:
v_date := TO_DATE(TO_CHAR(ZKAW__DATE_DT_MM)||'/'||TO_CHAR(ZKAW__DATE_DT_DD)||'/'||TO_CHAR(ZKAW__MAT_DT_CCYY),'MM/DD/YYYY') ;
to get the date value . provided if all the above fields are having values not zeros .
My requirement is if any of the above stated fileds are having spaces or zeros then I had to assign spaces or zeros to the variable .So many misconceptions.
You start with numbers not dates. You convert those numbers to dates when you can and every time you need to use them, which is why it would be better to store dates in the first place.
You cannot assign either 0 or spaces to a date variable because neither 0 or space is a valid date. You should probably assign it to null. -
Setting the series color of a bi beans graph based on the data values
How do I conditionally set the series color of a bi beans graph based on the data values?
I am using the following code to get the data values and set the series color:
Graph gr=(Graph)CmdrDashboardP1_pres1.getView();
DataAccess da=gr.getGraphModel().getDataAccess();
DataDirector dd=gr.getDataDirector();
DataMap dm=dd.getDataMap();
int re=dd.ROW_EDGE;
int ce=dd.COLUMN_EDGE;
Object val=da.getValue(re,ce,dm.DATA_TYPE);
int seriesCount=da.getEdgeCurrentSlice(DataDirector.ROW_EDGE);
if (val <=45.0)
gr.getSeries().setColor(new Color(255,0,0),seriesCount);
I get a NullPointerException from the line of code "Object val=da.getValue(re,ce,dm.DATA_TYPE)." I have tried the code with DATA_UNFORMATTED as well, but get the same exception. When I print the DataMap value of dm the results are [dataUnformatted, dataViewFormat, value, dataIsTotal, dataType].
Also, I get the error "method <= (java.lang.Object,double) not found in class _CmdrDashboardP1" from the "if (val <=45.0)" code.
Thanks for any assistanceHow do I conditionally set the series color of a bi beans graph based on the data values?
I am using the following code to get the data values and set the series color:
Graph gr=(Graph)CmdrDashboardP1_pres1.getView();
DataAccess da=gr.getGraphModel().getDataAccess();
DataDirector dd=gr.getDataDirector();
DataMap dm=dd.getDataMap();
int re=dd.ROW_EDGE;
int ce=dd.COLUMN_EDGE;
Object val=da.getValue(re,ce,dm.DATA_TYPE);
int seriesCount=da.getEdgeCurrentSlice(DataDirector.ROW_EDGE);
if (val <=45.0)
gr.getSeries().setColor(new Color(255,0,0),seriesCount);
I get a NullPointerException from the line of code "Object val=da.getValue(re,ce,dm.DATA_TYPE)." I have tried the code with DATA_UNFORMATTED as well, but get the same exception. When I print the DataMap value of dm the results are [dataUnformatted, dataViewFormat, value, dataIsTotal, dataType].
Also, I get the error "method <= (java.lang.Object,double) not found in class _CmdrDashboardP1" from the "if (val <=45.0)" code.
Thanks for any assistance -
How to extract the date value of IBOR date="12/12/2009"
I have the following query, but do not get the date value out:
WITH ibors AS (
SELECT xmltype('<?xml version="1.0" encoding="utf-8"?>
<IBOR date="12/12/2009">
<LIBOR currency="USD">
<OneYear>1.38875</OneYear>
</LIBOR>
</IBOR>
') ibor_xml
FROM dual
SELECT i.ibor_date, i.ibor_oneyear
FROM ibors,
XMLTABLE(
'//IBOR'
PASSING ibors.ibor_xml
COLUMNS ibor_date VARCHAR2(20) PATH '/IBOR/date',
ibor_oneyear VARCHAR2(20) PATH '/IBOR/LIBOR/OneYear'
) i;
How to extract the date value of <IBOR date="12/12/2009">?Hi,
The date is an attribute of element IBOR. So you must use "@date" in the xpath expression :
WITH ibors AS (
SELECT xmltype('<?xml version="1.0" encoding="utf-8"?>
<IBOR date="12/12/2009">
<LIBOR currency="USD">
<OneYear>1.38875</OneYear>
</LIBOR>
</IBOR>
') ibor_xml
FROM dual
SELECT i.ibor_date, i.ibor_oneyear
FROM ibors,
XMLTABLE(
'//IBOR'
PASSING ibors.ibor_xml
COLUMNS
ibor_date VARCHAR2(20) PATH '/IBOR/@date',
ibor_oneyear VARCHAR2(20) PATH '/IBOR/LIBOR/OneYear'
) i;
Maybe you are looking for
-
Variable not always getting a value
I have a PL/SQL procedure (Oracle 10gR2 database ) that runs daily, here is a portion of it:- create or replace PROCEDURE "GLCONV_PREP" IS BEGIN DECLARE PROC_DT DATE := NULL; BEGIN SELECT (MAX(GL_CONV_SENT)+1) INTO PROC_DT FROM
-
Hi all. I have Yosemite on my iMac. Can i restore via my external hard drive to an earlier time when i had Mavericks on my iMac? If i can which operating system will i end up with? I would like to do this because i prefer Mavericks to Yosemite. Any h
-
Downloading a trial - problem with the Adobe Download Assistant
Q: What is the Adobe Download Assistant? A: Trial versions of Adobe Creative Suite, Photoshop Elements, and Adobe Premiere Elements are downloaded using the Adobe Download Assistant — a small application that is meant to improve download reliability
-
Macbook Air 13" (Oct 2010) Locks up when connecting external display
Since I installed Lion my Macbook Air needs to be restarted nearly every time I connect an external display. This did not happen prior to Lion and wondering if anyone has a solution. Details: - 13" Macbook Air (October 2010 version) - Dell 27" LCD
-
Web Service Usage Discussion - Both for request and response.
Hi, I have some discussion questions ( by the way i have done my search in the forums ) 1) How would you solve the problem of registering user from iphone application without making the user to enter a security code to prevent spam? ( We use graphica