Ερώτηση SELECT με πολλαπλά AND/OR

Συζητήσεις για την βάση δεδομένων MySQL και το phpMyAdmin

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
garyfalia
Δημοσιεύσεις: 14
Εγγραφή: 03 Αύγ 2011 11:27

Ερώτηση SELECT με πολλαπλά AND/OR

Δημοσίευση από garyfalia » 04 Αύγ 2011 17:30

Καλησπέρα, θα ήθελα να ρωτήσω πως μπορώ να φτιάξω ένα SELECT query σε ένα πίνακα στην βάση μου με πεδία spec_id, product_id, spec_value όπου να μου δίνει το αποτέλεσμα των product_id που θα έχουν spec_id1 me spec_value = spec_value1 or spec_value2 και spec_id2 me specvalue = spec_value3 or spec_value4.

Προσπάθησα με join αλλά δεν είναι το αποτέλεσμα που θέλω ουσιαστικά επιθυμώ την τομή των 2 παρακάτω select:

SELECT * FROM product_specifications WHERE `specification_id` =2 AND `value` =4 or 'value'=2

SELECT * FROM product_specifications WHERE `specification_id` =3 AND `value` =4

Ευχαριστώ!!

Άβαταρ μέλους
cn92
Δημοσιεύσεις: 232
Εγγραφή: 25 Ιαν 2008 19:00
Τοποθεσία: Γλυφαδα
Επικοινωνία:

Ερώτηση SELECT με πολλαπλά AND/OR

Δημοσίευση από cn92 » 05 Αύγ 2011 13:17

Δοκίμασε αυτό
SELECT *
FROM product_specifications
WHERE (`specification_id` =2 AND `value` =4 or 'value'=2)
OR (`specification_id` =3 AND `value` =4)

Η βάση τι πεδία έχει;

garyfalia
Δημοσιεύσεις: 14
Εγγραφή: 03 Αύγ 2011 11:27

Ερώτηση SELECT με πολλαπλά AND/OR

Δημοσίευση από garyfalia » 05 Αύγ 2011 15:31

Η βάση έχει τα πεδία product_id(primary), specification_id, value (όπου είναι η τιμή της ιδιότητας).

Θέλω να έχω τα product_id τα οποία έχουν την ιδιότητα1 με τιμή1 ΚΑΙ την ιδιότητα2 με τιμή2.. κ.ο.κ..

garyfalia
Δημοσιεύσεις: 14
Εγγραφή: 03 Αύγ 2011 11:27

Ερώτηση SELECT με πολλαπλά AND/OR

Δημοσίευση από garyfalia » 08 Αύγ 2011 12:06

Αυτό που θέλω είναι:

SELECT * FROM yourtable WHERE spec_id1 ΙΝ (value1,value2,value3)

INTERSECT

SELECT * FROM yourtable WHERE spec_id2 ΙΝ (value1,value2,value3)

Απλά στην mysql το intersect δεν υποστηρίζεται...
Αν έχει κάποια ιδέα κανείς...
Ευχαριστώ και πάλι..

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

Ερώτηση SELECT με πολλαπλά AND/OR

Δημοσίευση από cherouvim » 08 Αύγ 2011 13:49

garyfalia έγραψε:Απλά στην mysql το intersect δεν υποστηρίζεται...
Δοκίμασες το http://www.google.com/search?q=intersect+in+mysql ;

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Ερώτηση SELECT με πολλαπλά AND/OR

Δημοσίευση από dva_dev » 08 Αύγ 2011 20:59

garyfalia έγραψε:Η βάση έχει τα πεδία product_id(primary), specification_id, value (όπου είναι η τιμή της ιδιότητας).
garyfalia έγραψε:Αυτό που θέλω είναι:

SELECT * FROM yourtable WHERE spec_id1 ΙΝ (value1,value2,value3)

INTERSECT

SELECT * FROM yourtable WHERE spec_id2 ΙΝ (value1,value2,value3)

Απλά στην mysql το intersect δεν υποστηρίζεται...
Αν έχει κάποια ιδέα κανείς...
Ευχαριστώ και πάλι..
Αφού ο πίνακας δεν έχει πεδία ούτε spec_id1 ούτε spec_id2 πως θα μπορέσεις να κάνεις τα επιμέρους selects για να μπορέσεις μετά να κάνεις το intersect;

Ρίξε μια ματιά στο http://www.freestuff.gr/forums/viewtopic.php?t=56039 και δες και τα προηγούμενα θέματα μήπως πάρεις καμιά ιδέα.

Απάντηση

Επιστροφή στο “MySQL”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες