
Originally Posted by
Aleksejs
Would it be very bad if result were just one row?

I need 4 rows because it has 4 myGroups.
The code below has no SQL errors.
Code:
code
(SELECT t1.name, t2.name, t3.name, t4.name
FROM
myTable7 AS t1, myTable7 AS t2, myTable7 AS t3, myTable7 AS t4,myTable8 AS g1, myTable8 AS g2,
myTable8 AS g3, myTable8 AS g4
WHERE
g1.myGroup = 1 AND g2.myGroup = 2 AND g3.myGroup = 3 AND
g4.myGroup = 4 AND g1.id = t1.id AND g2.id = t2.id AND g3.id = t3.id
AND g4.id = t4.id AND (t1.sex + t2.sex + t3.sex + t4.sex = 2)
ORDER BY RAND() LIMIT 1)
union
(SELECT t1.name, t2.name, t3.name, t4.name
FROM
myTable7 AS t1, myTable7 AS t2, myTable7 AS t3, myTable7 AS t4,myTable8 AS g1, myTable8 AS g2,
myTable8 AS g3, myTable8 AS g4
WHERE
g1.myGroup = 1 AND g2.myGroup = 2 AND g3.myGroup = 3 AND
g4.myGroup = 4 AND g1.id = t1.id AND g2.id = t2.id AND g3.id = t3.id
AND g4.id = t4.id AND (t1.sex + t2.sex + t3.sex + t4.sex = 2)
ORDER BY RAND() LIMIT 1)
result1
Tim
Jane
result2
Jane
Tim
result3
Tim
Tim
result4
Jane
Jane
The result1 and the result2 is Okay, but the result3 and the result4 is not okay because it has two males or two females, futuermore it produces two same names.
Bookmarks