πρόβλημα σε query

Συζητήσεις για γλώσσες προγραμματισμού και θέματα σχετικά με προγραμματισμό.
Post Reply
User avatar
oldholborn
Kilobyte level
Kilobyte level
Posts: 270
Joined: Tue Apr 18, 2006 11:40 am

πρόβλημα σε query

Post by oldholborn » Fri Nov 07, 2008 5:16 pm

Γεια σας εχω ένα πρόβλημα σε ένα 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
vasvas
Kilobyte level
Kilobyte level
Posts: 198
Joined: Fri Jul 09, 2004 2:31 pm

Re: πρόβλημα σε query

Post by vasvas » Fri Nov 07, 2008 5:29 pm

Διάβασε λίγο για dynamic sql γενικά ή για prepared statements ειδικά. Εν ολίγοις, ένας τρόπος είναι ο εξής: το query σου θα το αποθηκεύεις σε ένα string, το οποίο μπορεί να είναι concat από πολλά βασικά strings. Η δομή ελέγχου του προγράμματος θα κάνει τα κατάλληλα concat για κάθε περίπτωση και θα εκτελείς το τελικό string που βγαίνει.
User avatar
rose
Gbyte level
Gbyte level
Posts: 1921
Joined: Sun May 20, 2007 8:59 pm
Academic status: 4th year
Gender:

Re: πρόβλημα σε query

Post by rose » Fri Nov 07, 2008 5:58 pm

Code: Select all

string q;
if (all) {
            q = "SELECT " +
                  " a" +
                  " b FROM C";
        } else {
           
           q = " SELECT " +
                 " b" +
                  "FROM  C";
}
db.execQuery(q);

που θα πάει θα το δουμε...
User avatar
oldholborn
Kilobyte level
Kilobyte level
Posts: 270
Joined: Tue Apr 18, 2006 11:40 am

Re: πρόβλημα σε query

Post by oldholborn » Fri Nov 07, 2008 6:12 pm

σας ευχαριστώ πολύ για την γρήγορη απάντηση :smt023
αλλά το πρόβλημα είναι ότι
δουλεύω σε report designer δεν γράφω πρόγραμμα και για αυτό μόνο
query με select sub query case when .. τέτοια μπορώ να χρησιμοποιήσω
User avatar
rose
Gbyte level
Gbyte level
Posts: 1921
Joined: Sun May 20, 2007 8:59 pm
Academic status: 4th year
Gender:

Re: πρόβλημα σε query

Post by rose » Fri Nov 07, 2008 6:24 pm

SQL procedure;
που θα πάει θα το δουμε...
User avatar
oldholborn
Kilobyte level
Kilobyte level
Posts: 270
Joined: Tue Apr 18, 2006 11:40 am

Re: πρόβλημα σε query

Post by oldholborn » Sat Nov 08, 2008 12:25 am

δυστυχώς ούτε αυτό γιατί η βάση είναι του siebel και το μόνο
που μπορώ να κάνω είναι να φτιάξω dataset με το query :smt017
User avatar
oldholborn
Kilobyte level
Kilobyte level
Posts: 270
Joined: Tue Apr 18, 2006 11:40 am

Re: πρόβλημα σε query

Post by oldholborn » Sat Nov 08, 2008 4:21 pm

τελικά αυτό κατέληξα σε αυτό
το :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
)

:)
Post Reply

Return to “Προγραμματισμός”