it-swarm-id.com

API untuk Union All di Query Database

Adakah yang bisa mengarahkan saya ke dokumentasi tentang cara menggunakan Union All di JDatabase Query? Terima kasih, Mike

2
Mike H

Ingatlah selalu untuk melihat Joomla API jika Anda tidak dapat menemukan apa pun di dokumentasi. UnionAll disebutkan di sini:

http://api.joomla.org/cms-3/classes/JDatabaseQuery.html#method_unionAll

0
Lodder

Dan jangan lupa tentang Joomla! Dokumen :)

http://docs.joomla.org/Using_the_union_methods_in_database_queries

Ini adalah contoh dari Documents.

Misalkan Anda ingin mengirim surat ke semua pelanggan dan semua pemasok dan bahwa nama dan alamat email masing-masing disimpan dalam tabel yang disebut, tidak mengejutkan, pelanggan dan pemasok.

Query ini akan mengambil semua informasi pelanggan yang kami butuhkan untuk mailshot:

$query
    ->select('name, email')
    ->from('customers')
    ;
$mailshot = $db->setQuery($query)->loadObjectList();

sementara permintaan ini akan melakukan hal yang sama untuk semua pemasok:

$query
    ->select('name, email')
    ->from('suppliers')
    ;
$mailshot = $db->setQuery($query)->loadObjectList();

Kemudian Anda dapat menggabungkan hasil menjadi satu permintaan seperti ini:

$query
    ->select('name, email')
    ->from('customers')
    ->union($q2->select('name , email')->from('suppliers'))
    ;
$mailshot = $db->setQuery($query)->loadObjectList();

Set hasil yang diperoleh dari kueri gabungan sebenarnya akan sedikit berbeda dari menjalankan kueri individual secara terpisah karena kueri gabungan akan secara otomatis menghilangkan duplikat. Jika Anda tidak keberatan bahwa set hasil dapat berisi duplikat (yang secara matematis berarti bukan set) maka menggunakan unionAll alih-alih union akan meningkatkan kinerja.

2
Dmitry Rekun