Jadi, saya menghadapi masalah ini.
Saya perlu mendapatkan berbilang rekod daripada jadual berbeza menggunakan inner join dan menggunakan UNION atau UNION ALL untuk penomboran, kod di bawah digunakan untuk mendapatkan semua rekod dan kiraan. Ini musuh saya:
(SELECT pp.id as id, pp.*, i.name, p.name as plans_name, u.username,u.email,u.phone, DATE_ADD(pp.init_date, INTERVAL pp.avaliable_days DAY) as end_date FROM property_purchase pp inner join users u ON pp.users_id $username inner join inn_oficial i ON i.photo_id = pp.property_id left join plans p ON pp.plans_id = p.id WHERE (pp.type = 1 or pp.type = 2) $where ) UNION (SELECT pp.id as id, pp.*, i.model as name, p.name as plans_name, u.username,u.email,u.phone, DATE_ADD(pp.init_date, INTERVAL pp.avaliable_days DAY) as end_date FROM property_purchase pp inner join users u ON pp.users_id $username inner join rent_oficial i ON i.photo_id = pp.property_id left join plans p ON pp.plans_id = p.id WHERE pp.type = 3 $where) UNION (SELECT pp.id as id, pp.*, i.name, p.name as plans_name, u.username,u.email,u.phone, DATE_ADD(pp.init_date, INTERVAL pp.avaliable_days DAY) as end_date FROM property_purchase pp inner join users u ON pp.users_id $username inner join fish_pay_oficial i ON i.photo_id = pp.property_id left join plans p ON pp.plans_id = p.id WHERE pp.type = 4 $where ) UNION (SELECT pp.id as id, pp.*, i.name, p.name as plans_name, u.username,u.email,u.phone, DATE_ADD(pp.init_date, INTERVAL pp.avaliable_days DAY) as end_date FROM property_purchase pp inner join users u ON pp.users_id $username inner join stores_oficial i ON i.photo_id = pp.property_id left join plans p ON pp.plans_id = p.id WHERE pp.type = 5 $where) UNION (SELECT pp.id as id, pp.*, i.name, p.name as plans_name, u.username,u.email,u.phone, DATE_ADD(pp.init_date, INTERVAL pp.avaliable_days DAY) as end_date FROM property_purchase pp inner join users u ON pp.users_id $username inner join transfer_oficial i ON i.photo_id = pp.property_id inner join plans p ON pp.plans_id = p.id WHERE pp.type = 6 $where) GROUP BY pp.id ORDER BY pp.id
Saya mengambil contoh ini daripada Klausa UNION 13.2.9.3 dan mencubanya pada skrip
Apabila saya cuba menjalankan kod, ia melaporkan ralat
在第1行的'GROUP BY id ORDER BY id LIMIT 0.25'旁边,你的SQL语法有错误
Maaf, bahasa Inggeris saya teruk, itu bukan bahasa ibunda saya
Saya menyelesaikan kskskskks, cuma tambah lajur pp id sebagai id_p dan kemudian dipesan dengan itu