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

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

Δημοσ.

Λιγο τα φωτα σας σε ενα προβλημα/κολλημα που εχω.

 

Εχω δυο tables:

 

Table  uno:

id      |  gender  |   lf 
-------------------------
abc   |       1      |    2
cde   |       2      |    1
efg    |       1      |    2
 
Table duo:
id1    |    id2 
-------------------------
abc   |   cde
 
 Παμε στο ψητο. Διαλεγω 2 id απο το uno τυχαια με το εξης query:
 
(SELECT * FROM uno  WHERE gender=1 AND lf=2 order by RAND() limit 1) UNION (SELECT * FROM uno  WHERE gender=2 AND lf=1 order by RAND() limit 1)

 To query  θα μου δωσει (παντα τυχαια και μονο 2 ζευγαρια):

id    |   gender     | lf
-------------------------
abc   |       1      |    2
cde   |       2      |    1

Θελω το query να μου δινει ζευγαρια id που δεν υπαρχουν στο table duo, στη προκειμενη υπαρχει το ζευγος(abc και cde)

 

Βασικα δεν ξερω αν γινεται με query, αν οχι θα παω σε λυση με php, δλδ αν υπαρχουν τα id->ξανακανε το query(μεσα σε ενα loop), το οποιο απο μεριας αποδοσης, θα ηταν τραγικο.

 

Ευχαριστω.

 

 

Δημοσ. (επεξεργασμένο)
select u1.id, u2.id
from uno u1 , uno u2 , duo d
where u1.gender=1 AND u1.lf=2
and u2.gender=2 AND u2.lf=1
and (u1.id, u2.id) <> (d.id1, d.id2)
order by rand() limit 1

α διόρθωση θέλει exists για τον duo πίνακα

Επεξ/σία από Aztec

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...