MySQL दस्तावेज़ कहते हैं: "आप एक ही क्वेरी में एक से अधिक बार एक टेम्पलेट तालिका का उल्लेख नहीं कर सकते हैं।"मैं एक ही प्रश्न में एक से अधिक बार एक टेम्पलेट तालिका का संदर्भ कैसे दे सकता हूं?
मुझे पता है कि इससे पहले पूछा गया है। लेकिन मुझे निम्नलिखित के लिए एक विशिष्ट समाधान नहीं मिल रहा है।
मैं एक अस्थायी तालिका में एक प्रारंभिक चुनाव कर रहा हूँ
CREATE TEMPORARY TABLE preselection AS SELECT ...;
अब मैं कुछ
(20 के आसपास या यहाँ तक कि 30) यूनियनों
(SELECT FROM preselection ...)
UNION
(SELECT FROM preselection ...)
UNION
......
UNION
(SELECT FROM preselection ...)
क्या करना चाहते मैं प्रारंभिक चुनाव के 20 या 30 प्रतियां बना सकता है और प्रत्येक तालिका पर प्रत्येक का चयन करें, लेकिन यदि मैं इसे समझता हूं तो यह समान है कि उपरोक्त के रूप में यूनियन श्रृंखला के अंदर प्रत्येक चयन में उपरोक्त पूर्व-चयन-क्वेरी का आह्वान करें।
क्या इस मुद्दे के आसपास काम करने का कोई तरीका है?
नमस्ते,
क्रिस
पूर्ण क्वेरी:
CREATE TEMPORARY TABLE preselection AS
(
SELECT id, title, chapter, date2, date, snid, max(score) FROM `movies`
WHERE
(
cluster is not NULL
)
AND
(
`date` <= '2012-02-20 05:20:00'
AND `date` > '2012-02-19 17:20:00'
AND (TIMEDIFF(date, date2) < '12:00:00')
)
GROUP BY cluster
)
UNION
(
SELECT id, title, chapter, date2, date, snid, score FROM `movies`
WHERE cluster IS NULL
AND
(
`date` <= '2012-02-20 05:20:00' AND `date` > '2012-02-19 17:20:00' AND (TIMEDIFF(date, date2) < '12:00:00')
)
);
(SELECT * FROM preselection WHERE snid=1 AND chapter LIKE '#A_OT%'
DESC LIMIT 4)
UNION
…
UNION
(SELECT * FROM preselection WHERE snid=19 AND chapter LIKE '#A_OT%'
LIMIT 4)
UNION
... for each chapter from A to J and every snid from 1 to 19 ...
UNION
(SELECT * FROM preselection WHERE snid=1 AND chapter LIKE '#J_OT%'
LIMIT 4)
UNION
…
UNION
(SELECT * FROM preselection WHERE snid=19 AND chapter LIKE '#J_OT%'
LIMIT 4)
ORDER BY `score` DESC, `date`;
संभव डुप्लिकेट [माइस्क्ल में एक अस्थायी तालिका तक कई बार एक्सेस करना] (http://stackoverflow.com/questions/4078873/accessing-a - समकालीन-टेबल-बहु-बार-इन-माइस्क्ल) –
क्या आप पूर्ण, वास्तविक क्वेरी दिखा सकते हैं? यह हमें ऐसे कामकाज के लिए विचारों के साथ आने में मदद कर सकता है, जिसमें temp तालिका को कई बार जोड़ने की आवश्यकता नहीं होती है। – JohnFx
शायद यह एक अच्छा विचार है। यहां मेरी पूरी क्वेरी है, मुझे वास्तव में यह नहीं पता कि इसे अलग तरीके से कैसे किया जाए। (पोस्ट में जोड़ा गया) –