Page 1 of 1
πρόβλημα σε query
Posted: Fri Nov 07, 2008 5:16 pm
by oldholborn
Γεια σας εχω ένα πρόβλημα σε ένα oracle query
πως μπορώ να προσθέτω πίνακες σε ένα query ανάλογα με την τιμή που παίρνει μία παράμετρος
πχ
αν η παράμετρος είναι "all" τότε
select t1.row_id from
org t1,
party t2
where t1.row_id = t2.par_row_id And
t1.row_id = t1.branch_id
αν είναι "team" να είναι μόνο αυτό
select t1.row_id from
org t1
where
t1.row_id = t1.branch_id
help plz
Re: πρόβλημα σε query
Posted: Fri Nov 07, 2008 5:29 pm
by vasvas
Διάβασε λίγο για dynamic sql γενικά ή για prepared statements ειδικά. Εν ολίγοις, ένας τρόπος είναι ο εξής: το query σου θα το αποθηκεύεις σε ένα string, το οποίο μπορεί να είναι concat από πολλά βασικά strings. Η δομή ελέγχου του προγράμματος θα κάνει τα κατάλληλα concat για κάθε περίπτωση και θα εκτελείς το τελικό string που βγαίνει.
Re: πρόβλημα σε query
Posted: Fri Nov 07, 2008 5:58 pm
by rose
Code: Select all
string q;
if (all) {
q = "SELECT " +
" a" +
" b FROM C";
} else {
q = " SELECT " +
" b" +
"FROM C";
}
db.execQuery(q);
Re: πρόβλημα σε query
Posted: Fri Nov 07, 2008 6:12 pm
by oldholborn
σας ευχαριστώ πολύ για την γρήγορη απάντηση
αλλά το πρόβλημα είναι ότι
δουλεύω σε report designer δεν γράφω πρόγραμμα και για αυτό μόνο
query με select sub query case when .. τέτοια μπορώ να χρησιμοποιήσω
Re: πρόβλημα σε query
Posted: Fri Nov 07, 2008 6:24 pm
by rose
SQL procedure;
Re: πρόβλημα σε query
Posted: Sat Nov 08, 2008 12:25 am
by oldholborn
δυστυχώς ούτε αυτό γιατί η βάση είναι του siebel και το μόνο
που μπορώ να κάνω είναι να φτιάξω dataset με το query

Re: πρόβλημα σε query
Posted: Sat Nov 08, 2008 4:21 pm
by oldholborn
τελικά αυτό κατέληξα σε αυτό
το :Type είναι parameter
select *
from
( select t1.row_id
from
org t1,
where :type = "ALL" AND
t1.row_id = t1.branch_id
)
UNION
(SELECT t1.row_id
from
org t1 ,party t2
where :type = "TEAM" AND
t1.row_id = t2.par_row_id And
t1.row_id = t1.branch_id
)
