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

आईएफ/केस के साथ इनर जॉइन फील्ड कैसे चुनें?

इस क्वेरी को आज़माएं (संपादित ) -

SELECT c.*,
  CASE c.comment_type WHEN 8 THEN p1.photo_p_id WHEN 17 THEN p2.photo_id ELSE NULL END photo_id,
  CASE c.comment_type WHEN 8 THEN p1.column1 WHEN 17 THEN p2.column1 ELSE NULL END column1
FROM comments c
  LEFT JOIN photos p1
    ON c.object_id = p1.photo_p_id
  LEFT JOIN photos p2
    ON c.object_id = p2.photo_id

एक और प्रकार -

SELECT c.*, p.*
FROM comments c
  JOIN photos p
    ON c.comment_type = 8 AND c.object_id = p.photo_p_id OR c.comment_type = 17 AND c.object_id = p.photo_id



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पायथन के MySqlDB को अद्यतन पंक्ति नहीं मिल रही है

  2. एक ही उप-क्वेरी एक ही क्वेरी में कई बार उपयोग की जाती है

  3. MySQL क्वेरी - अनुकूलित

  4. सम्मिलित करें ... से चुनें ... डुप्लीकेट कुंजी अद्यतन पर

  5. मैं यादृच्छिक रूप से तालिका से पंक्तियों के अद्वितीय जोड़े कैसे चुनूं?