Không phải là THAM GIA BÊN TRONG (hoặc đơn giản là THAM GIA) là điểm giao nhau mà bạn cần? Giả sử bạn thực hiện liên kết qua các cột chung có liên quan.
Do đó:
SELECT s1.id
FROM (SELECT id
FROM subject_attribute
WHERE attribute = 'des_sen'
AND numerical_value >= 2.0
) AS s1
JOIN (SELECT id
FROM subject_attribute
WHERE attribute = 'tough'
AND numerical_value >= 3.5
) AS s2
ON s1.id = s2.id
Điều này mở rộng đến N truy vấn (N> 2) một cách rõ ràng và tuyến tính.
SELECT s1.id
FROM (SELECT id
FROM subject_attribute
WHERE attribute = 'des_sen'
AND numerical_value >= 2.0
) AS s1
JOIN (SELECT id
FROM subject_attribute
WHERE attribute = 'tough'
AND numerical_value >= 3.5
) AS s2
ON s1.id = s2.id
JOIN (SELECT id
FROM subject_attribute
WHERE attribute = 'though'
AND numerical_value = 14
) AS s3
ON s1.id = s3.id
JOIN (SELECT id
FROM subject_attribute
WHERE attribute = 'through'
AND numerical_value != 45
) AS s4
ON s1.id = s4.id
JOIN (SELECT id
FROM subject_attribute
WHERE attribute = 'plough'
AND numerical_value < 9
) AS s5
ON s1.id = s5.id
JOIN (SELECT id
FROM subject_attribute
WHERE attribute = 'cough'
AND numerical_value < 5
) AS s6
ON s1.id = s6.id
JOIN (SELECT id
FROM subject_attribute
WHERE attribute = 'bucolic'
AND numerical_value >= 3.5
) AS s7
ON s1.id = s7.id
JOIN (SELECT id
FROM subject_attribute
WHERE attribute = 'set'
AND numerical_value BETWEEN 0.23 AND 3.0
) AS s8
ON s1.id = s8.id
JOIN (SELECT id
FROM subject_attribute
WHERE attribute = 'intelligent'
AND numerical_value >= 0.001
) AS s9
ON s1.id = s9.id
JOIN (SELECT id
FROM subject_attribute
WHERE attribute = 'anal-retentive'
AND numerical_value < 7
) AS s10
ON s1.id = s10.id
JOIN (SELECT id
FROM subject_attribute
WHERE attribute = 'magnificent'
AND numerical_value = 35
) AS s11
ON s1.id = s11.id
JOIN (SELECT id
FROM subject_attribute
WHERE attribute = 'quantum'
AND numerical_value >= 55
) AS s12
ON s1.id = s12.id
JOIN (SELECT id
FROM subject_attribute
WHERE attribute = 'thoughtfulness'
AND numerical_value >= 350.237
) AS s13
ON s1.id = s13.id
JOIN (SELECT id
FROM subject_attribute
WHERE attribute = 'calamity'
AND numerical_value = 3.0
) AS s14
ON s1.id = s14.id
JOIN (SELECT id
FROM subject_attribute
WHERE attribute = 'pink'
AND numerical_value > 0.5
) AS s15
ON s1.id = s15.id
JOIN (SELECT id
FROM subject_attribute
WHERE attribute = 'cornucopia'
AND numerical_value BETWEEN 1 AND 12
) AS s16
ON s1.id = s16.id
JOIN (SELECT id
FROM subject_attribute
WHERE attribute = 'maudlin'
AND numerical_value < 3.625
) AS s17
ON s1.id = s17.id
JOIN (SELECT id
FROM subject_attribute
WHERE attribute = 'triad'
AND numerical_value >= 1.723
) AS s18
ON s1.id = s18.id
JOIN (SELECT id
FROM subject_attribute
WHERE attribute = 'ambient'
AND numerical_value >= 3.1
) AS s19
ON s1.id = s19.id