Bir ilişkisel tablo düzeninde birden fazla etiket arama

0 Cevap php

Ben standart üç tablo etiketi kurulumu ile çalışıyorum

item_table
 item_id
 item_name

tag_table
 tag_id
 tag_name

tag_map
 map_id
 tag_id
 item_id

Bu eserleri, etiketleme mimarisi için benzer bir düzeni kullanılır herkese açıktır nasıl olması gerektiğini, şimdi, bu programı kullanarak ben onlar her etiketi olmalıdır, yani birden fazla etiket neticesinde item_table sonuçlarını yazdırmak için gereken bir senaryo var maç ve madde tablodan öğeyi yazdırmak için sunulan şey teorik olarak böyle yazılır

SELECT i.item_id, i.item_name, t.tag_id, t.tag_name, m.tag_id, m.item_id FROM item_table AS i
JOIN tag_table AS t ON t.tag_id = m.tag_id
JOIN tag_map AS m ON m.item_id = i.item_id
WHERE t.tag_name = 'tag_one'
AND t.tag_name = 'tag_two'

Ve istenen çıkış gibi bir şey olurdu

item 1 (because the records for item 1 have assigned both tag_one and tag_two in the tag map) item 2 (ditto) (but not item 3 because it only has tag_one, or none of the tags)

Tabii ki bu işe yaramaz biliyorum, ve neden ben sadece Ben başarmak için çalışıyorum ne vurgulamak için yanlış oluşturulmuş örnek sağladı.

Herhangi bir tavsiye için şimdiden teşekkür ederiz.

0 Cevap