Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Subquery berkorelasi MySQL dalam sintaks GABUNG

Jawaban atas pertanyaan Anda adalah tidak, tidak mungkin merujuk nama korelasi seperti yang Anda lakukan. Tabel turunan dihasilkan oleh kueri dalam Anda sebelum kueri luar mulai mengevaluasi gabungan. Jadi nama korelasinya seperti t , tp , dan u tidak tersedia untuk kueri dalam.

Untuk mengatasi ini, saya akan merekomendasikan menggunakan nilai integer konstan yang sama di kueri dalam, dan kemudian bergabung dengan tabel turunan di kueri luar menggunakan kondisi nyata alih-alih 1=1 .

SELECT t.ticketid, u.userid, t.fullname, u.loginapi_userid, t.email,
  tp.subject, tp.contents, a.PhoneNumber, a.Location, a.Extension,
  a.BusinessUnit, a.Department
FROM swtickets t
 INNER JOIN swticketposts tp ON (t.ticketid = tp.ticketid)
 INNER JOIN swusers u ON (t.userid = u.userid)
 LEFT OUTER JOIN (
  SELECT cfv.typeid,
    MIN(CASE cfv.customfieldid WHEN 1 THEN cfv.fieldvalue END) AS 'PhoneNumber',
    MIN(CASE cfv.customfieldid WHEN 3 THEN cfv.fieldvalue END) AS 'Location',
    MIN(CASE cfv.customfieldid WHEN 5 THEN cfv.fieldvalue END) AS 'Extension',
    MIN(CASE cfv.customfieldid WHEN 8 THEN cfv.fieldvalue END) AS 'BusinessUnit',
    MIN(CASE cfv.customfieldid WHEN 9 THEN cfv.fieldvalue END) AS 'Department'
  FROM swcustomfieldvalues cfv
  WHERE cfv.typeid = 2458
  GROUP BY cfv.typeid
  ) AS a ON (a.typeid = t.ticketid)
WHERE t.ticketid = 2458;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tampilan Daftar admin Django + ForeignKey =Daftar Ubah Kosong

  2. Dump File MySQL 5.6.10

  3. Distribusi ulang suara sambil menghilangkan kandidat

  4. Pembaruan MySQL menggunakan PDO dan pernyataan yang disiapkan tidak berfungsi

  5. Buat skrip bash pemantauan kueri MySQL