Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

पैरेंट रिकॉर्ड के लिए चाइल्ड रिकॉर्ड के सभी कॉलम वापस करने की कोशिश कर रहा है

आप CSV . का उपयोग कर सकते हैं आईडी परिणाम जैसे:

SELECT *
FROM tblreport
WHERE FIND_IN_SET(ID,(SELECT GROUP_CONCAT(lv SEPARATOR ',') FROM (
                     SELECT @pv:=(SELECT GROUP_CONCAT(ID SEPARATOR ',') 
                     FROM tblreport WHERE ParentID IN (@pv)) AS lv FROM tblreport
                     JOIN (SELECT @pv:=1)tmp
                       WHERE ParentID IN (@pv)) a));

DBFiddle डेमो

आउटपुट:

ID  Name    ParentID
2   2nd     1
3   3rd     1
4   4th     2

संपादित करें:

यदि आपको मूल पंक्ति की भी आवश्यकता है तो आप UNION ALL . का उपयोग कर सकते हैं :

SET @var = 1;

SELECT *
FROM tblreport
WHERE FIND_IN_SET(ID,(SELECT GROUP_CONCAT(lv SEPARATOR ',') FROM (
                     SELECT @pv:=(SELECT GROUP_CONCAT(ID SEPARATOR ',') 
                     FROM tblreport WHERE ParentID IN (@pv)) AS lv FROM tblreport
                     JOIN (SELECT @pv:[email protected])tmp
                       WHERE ParentID IN (@pv)) a))

UNION ALL
SELECT *
FROM tblReport
WHERE ID = @var
ORDER BY ID;

DBFiddle Demo2



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL डेटाबेस और टेबल की मरम्मत कैसे करें

  2. ClassNotFoundException जावा के सर्वलेट्स के माध्यम से JDBC चलाते समय

  3. एक MySQL तालिका से चुनिंदा विकल्पों को सेट करने के लिए jQuery AJAX कॉल

  4. MySQL और NoSQL:सही चुनने में मेरी मदद करें

  5. मैं jdbc कोड के माध्यम से mysql 5.5 के साथ पैरामीटर में एक साधारण क्वेरी का प्रयास कर रहा हूं