Προς το περιεχόμενο

SQL Ερώτηση


mixalis8

Προτεινόμενες αναρτήσεις

Δημοσ.

πχ έχω SELECT * FROM News WHERE id=4

 

αυτό θα μου δώσει τις εγγραφές/εγγραφή με id=4,

 

τι μπορώ να βάλω όμως στο id για να μου δώσει όλες τις εγγραφές??

 

το SELECT * FROM News τις δίνει όλες αλλά εγώ θέλω το ερώτημα μου να περιέχει και WHERE οπωσδήποτε....

 

δοκίμασα id=* αλλά δεν είναι αποδεκτό απο την PostgreSQL

Δημοσ.

SELECT * FROM News WHERE id=%

αλλα δεν καταλαβαινω γιατι πρεπει οπωσδιποτε να εχεις where.

αν θες το εξηγεις λιγο?

Δημοσ.

akouste ligo giati to thelo... kai isos na iparxi kapoia kaliteri lisi....

 

$result = pg_prepare("my_query", 'SELECT * FROM news WHERE id=$1');

 

$result = pg_execute("my_query", array($id));

 

an steilo me to $id=1 tote tha dosi eggrafes me 1

an steilo me to $id=2 tote tha dosi eggrafes me 2

ti na steilo omos gia na dosi oles tis eggrafes????

(skopos einai na min kano if pou na dialegi tin analogi SELECT me i xoris WHERE diladi...)

Δημοσ.

Μπορείς να κάνεις το query σου να δημιουργείται δυναμικά.

Βάλε σε μια string μεταβλητή το 'SELECT * FROM news ' και αν επιλέξει κάποιο συγκεκριμένο id του προσθέτεις δίπλα το αντίστοιχο ' WHERE $id=[x]', αλλιώς το εκτελείς όπως είναι (1-2 if χρειάζεσαι απλά).

Δημοσ.

Από τη στιγμή που θέλεις οπωσδήποτε να βάζεις το 'id=' στο WHERE, δεν υπάρχει τρόπος. Αυτό μπορώ να στο εγγυηθώ. Τώρα αν υπάρχει εντελώς διαφορετικός τρόπος με WHERE πάντα (και όχι 1=1 ή id IS NULL), θα ήθελα πολύ κι εγώ να τον μάθω.

Δημοσ.

σε ανάλογες περιπτώσεις χρησιμοποιώ το WHERE 1>0 (έτσι τυχαία χωρίς λόγο)

για σένα το WHERE ID IS NOT NULL θα ήταν το καλύτερο πιστεύω αφού θες οπως και δήποτε να βάλεις το ID στο where

Δημοσ.

Αυτο που θες λεγεται full table scan.

Ο ενδεδειγμενος τροπος ειναι να φτιαξεις μια ξεχωριστη ρουτινα για να κανεις full table scan και μια αλλη για τα κανονικα σου SELECT ...

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...