ऐसा करने का उचित तरीका है एकाधिक तालिकाओं का उपयोग करना और JOIN
उन्हें आपके प्रश्नों में।
उदाहरण के लिए:
CREATE TABLE person (
`id` INT NOT NULL PRIMARY KEY,
`name` VARCHAR(50)
);
CREATE TABLE fruits (
`fruit_name` VARCHAR(20) NOT NULL PRIMARY KEY,
`color` VARCHAR(20),
`price` INT
);
CREATE TABLE person_fruit (
`person_id` INT NOT NULL,
`fruit_name` VARCHAR(20) NOT NULL,
PRIMARY KEY(`person_id`, `fruit_name`)
);
person_fruit
तालिका में प्रत्येक फल के लिए एक पंक्ति होती है जिससे एक व्यक्ति जुड़ा होता है और प्रभावी रूप से person
. को जोड़ता है और fruits
टेबल एक साथ, आई.ई.
1 | "banana"
1 | "apple"
1 | "orange"
2 | "straberry"
2 | "banana"
2 | "apple"
जब आप किसी व्यक्ति और उसके सभी फलों को पुनः प्राप्त करना चाहते हैं तो आप कुछ ऐसा कर सकते हैं:
SELECT p.*, f.*
FROM person p
INNER JOIN person_fruit pf
ON pf.person_id = p.id
INNER JOIN fruits f
ON f.fruit_name = pf.fruit_name