oracle - Want SQL query to be modified or corrected -


when running query:

select sm.stylename,  (select fieldvalue auxiliaryfield af af.stylename = sm.stylename , fieldlabel = 'vendor name') "vendor name", (select fieldvalue auxiliaryfield af af.stylename = sm.stylename , fieldlabel = 'vendor number') "vendor number", (select fieldvalue auxiliaryfield af af.stylename = sm.stylename , fieldlabel = 'vendor address') "vendor address", (select fieldvalue auxiliaryfield af af.stylename = sm.stylename , fieldlabel = 'factory name') "factory name", (select fieldvalue auxiliaryfield af af.stylename = sm.stylename , fieldlabel = 'factory address') "factory address" stylemaster sm order sm.stylename; 

i error message:

"ora-01427: single-row subquery returns more 1 row 01427. 00000-"single-row subquery returns more 1 row" 

can please in resolving issue?

one of subqueries returning more 1 value. can fix symptom adding where rownum = 1 or aggregation function:

select sm.stylename,         (select max(fieldvalue) auxiliaryfield af af.stylename = sm.stylename , fieldlabel = 'vendor name') "vendor name",        (select max(fieldvalue) auxiliaryfield af af.stylename = sm.stylename , fieldlabel = 'vendor number') "vendor number",        (select max(fieldvalue) auxiliaryfield af af.stylename = sm.stylename , fieldlabel = 'vendor address') "vendor address",        (select max(fieldvalue) auxiliaryfield af af.stylename = sm.stylename , fieldlabel = 'factory name') "factory name",        (select max(fieldvalue) auxiliaryfield af af.stylename = sm.stylename , fieldlabel = 'factory address') "factory address" stylemaster sm order sm.stylename; 

that rid of problem, might want investigate why duplicates showing begin with.

edit:

if max() doesn't work on data types, use rownum = 1:

select sm.stylename,         (select (fieldvalue) auxiliaryfield af af.stylename = sm.stylename , fieldlabel = 'vendor name' , rownum = 1) "vendor name",        (select (fieldvalue) auxiliaryfield af af.stylename = sm.stylename , fieldlabel = 'vendor number' , rownum = 1) "vendor number",        (select (fieldvalue) auxiliaryfield af af.stylename = sm.stylename , fieldlabel = 'vendor address' , rownum = 1) "vendor address",        (select (fieldvalue) auxiliaryfield af af.stylename = sm.stylename , fieldlabel = 'factory name' , rownum = 1) "factory name",        (select (fieldvalue) auxiliaryfield af af.stylename = sm.stylename , fieldlabel = 'factory address' , rownum = 1) "factory address" stylemaster sm order sm.stylename; 

Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -