⊗ppPmDOFR 385 of 447 menu

PHP හි දත්තවල ඥාති සබඳතා

අප ඉදිරියේ පියවරුන් සහ පුතුන් ගබඩා කිරීමේ කාර්යයක් ඇතැයි සිතමු. සෑම පියෙකුටම එක් පුතෙකු සිටිය හැකි අතර, පුතාටද අනුක්‍රමයෙන් එක් පුතෙකු සිටිය හැකිය.

දත්ත ගබඩා කරන්නේ කෙසේදැයි සිතා ගත යුතුය. මනසට පැමිණිය හැකි පළමු අදහස වන්නේ වගු දෙකක් සෑදීමයි: පියවරුන් සඳහා parents සහ පුතුන් සඳහා sons. ඉන්පසු මෙම වගු සම්බන්ධ කරන්න යම් ක්ෂේත්‍රයක් සමඟ: son_id හෝ parent_id.

කෙසේ වෙතත්, මෙය හොඳ අදහසක් නොවේ - මන්ද එකම පුද්ගලයාට එකවරම විය හැකිය පියෙකු සහ පුතෙකු ලෙස - එය ගබඩා කිරීමට සිදුවනු ඇත වගු දෙකෙහිම, මෙය අපහසුය, අඩු කරයි වැඩි ඉඩක් සහ දෝෂ වලට පහසුවෙන් මග පාදයි.

වඩා හොඳ විකල්පයක් වන්නේ වගුවම සම්බන්ධ කිරීමයි සමඟ: අපි users වගුව සාදමු, අපි සියලු පරිශීලකයින් ගබඩා කරන අතර සෑම අයෙකුටම සාදන්නෙමු ක්ෂේත්‍රය son_id, එහි ගබඩා කරනු ඇත මෙම වගුවෙන්ම id පුතා:

users
id name son_id
1 user1 2
2 user2 3
3 user3 null

විමසුම්

දැන් අපි පරිශීලකයා ලබා ගන්නා විමසුමක් ලියමු ඔහුගේ පුතා සමඟ.

පළමුව, අපි පරිශීලකයන් ලබා ගනිමු:

SELECT * FROM users

දැන් අපි පරිශීලකයින් සමඟ ඔවුන්ගේ පුතුන් එක් කරමු. එක් කිරීම අපි වගුවම කරන්නෙමු, එබැවින් අපට එහි නම වෙනස් කිරීම සිදු කිරීමට අවශ්‍යය:

LEFT JOIN users as sons

දැන් අපට ප්‍රධාන වගුවේ සම්බන්ධතාවය නියම කළ හැකිය සහ නම වෙනස් කරන ලද:

LEFT JOIN users as sons ON sons.id=users.son_id

දැන් ක්ෂේත්‍ර නියම කරමු:

SELECT users.name as user_name, sons.name as son_name

අපි සියල්ල එකට එකතු කර පහත විමසුම ලබා ගනිමු:

SELECT users.name as user_name, sons.name as son_name FROM users LEFT JOIN users as sons ON sons.id=users.son_id

ප්‍රායෝගික කාර්යයන්

අපට වර්ග ඇතැයි සිතමු. සෑම කාණ්ඩයක්ම මව් කාණ්ඩයකට අයත් විය හැකිය, එය අනුක්‍රමයෙන් එහි මව් කාණ්ඩයට සහ එසේම පසුව. ගබඩා කිරීමේ ව්‍යුහය සකස් කරන්න.

එය සමඟම කාණ්ඩය ලබා ගන්නා විමසුමක් ලියන්න එහි මව් කාණ්ඩය.

එය සමඟම කාණ්ඩය ලබා ගන්නා විමසුමක් ලියන්න එහි මව් සහ මුතුන් මිත්තන් සමඟ.

එය සමඟම කාණ්ඩය ලබා ගන්නා විමසුමක් ලියන්න එහි මව්, මුතුන් මිත්තන් සහ මුතුන් මිත්තන් සමඟ.

සිංහල
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
අපි වෙබ් අඩවිය ක්‍රියාත්මක කිරීම, විශ්ලේෂණය සහ පුද්ගලීකරණය සඳහා කුකී භාවිතා කරමු. දත්ත සැකසීම සිදුකරනු ලබන්නේ ගෝපනීයතා ප්‍රතිපත්තිය අනුව ය.
සියල්ල පිළිගන්න කොන්දේසි ප්‍රතික්ෂේප කරන්න