Saya pikir cara terbaik adalah membuat tabel sementara dengan set item yang dibutuhkan (prosedur yang mengambil id item sebagai parameter atau sesuatu di sepanjang baris itu) dan kemudian bergabung dengan semua tabel di atas bergabung bersama.
Jika untuk basketid tertentu Anda TIDAK memiliki nol di sisi kanan kiri bergabung, keranjang berisi semua item yang dibutuhkan.