मुझे एक मॉड्यूल को लागू करने में कोई समस्या है जहां एक project
एकाधिक categories
से संबंधित हो सकता है। उदाहरण: प्रोजेक्ट "PHP प्रोग्रामर" श्रेणियों से संबंधित है: प्रोग्रामिंग, PHP।MySQL LEFT डुप्लिकेट जॉइन परिणाम
निम्न क्वेरी (चयन परियोजनाओं श्रेणियों 1,3,11 के हैं) मान लिया जाये:
SELECT projects.* FROM projects
LEFT JOIN pojects_category on projects.id = pojects_category.project_id
WHERE pojects_category.category_id IN (1,3,11) and projects.id='94'`
मैं एक एक ही परियोजना में दो बार लौटे मिलता है, क्योंकि वहाँ में मिलान हैं project_id
के लिए तालिका = 94
टेबल projects_category
स्कीमा:
CREATE TABLE IF NOT EXISTS `pojects_category` (
`project_id` int(10) NOT NULL,
`category_id` int(10) NOT NULL,
KEY `category_id` (`category_id`),
KEY `project_id` (`project_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `pojects_category` (`project_id`, `category_id`) VALUES
(94, 3),
(94, 1);
क्या मुझे कुछ याद आ रही है?
समाधान: का उपयोग GROUP BY
या DISTINCT
यदि आप केवल प्रत्येक प्रोजेक्ट में से एक चाहते हैं, तो अपनी क्वेरी – mariusnn
@mariusnn पर 'GROUP BY project_id'' संलग्न करें, यह काम करता है! – technology
समूह का उपयोग न करें, मेरी स्पष्टीकरण – Sebas