Burada ben bir tamamlayıcı soru ile, ben burada ve henüz almış tüm yardım için teşekkür ederim.
Setup
Ben MySQL 3 alakalı tabels var:
STRINGVALUES
ID ItemID Key Value
1 1 Note My note book is electronica
INTEGERVALUES
ID ItemID Key Value
1 1 Color 2
2 1 Type 4
STRINGS
ID Value
1 Stone
2 Red
3 Blue
4 Phone
Other fields has been removed to only show what is relevant. ItemID is the identifier for an Article. In this case I have only entered information for Article 1 (ItemID=1)
INTEGERVALUES tablo (sadece tamsayılar ile dolayısıyla ayrı bir tablo) İPLERİ tablodaki bir değeri arama için ID olarak Value
kullanır. StringValues kullanıcılar tarafından girilen verileri ise dizeleri tablo da çoklu dil desteği var.
Desired result
Ben SQL sorgu şimdi bu gibi görünüyor:
SELECT i.*, ai.Key, ai.Value,
(SELECT s.Value FROM Strings s WHERE ai.Value=s.StringID) sValue,
(SELECT ats.Value FROM attributestrings ats WHERE ats.ItemID=i.ItemID) sValue
FROM items i
INNER JOIN AttributeIntegers ai ON i.ItemID=ai.ItemID
WHERE i.ID = 1
Bu bana alakalı sonuç verir
ItemID Key Value sValue sValue
1 Color 2 Red My note book is electronica
1 Type 4 Phone My note book is electronica
Ne istiyorum bu sonuç:
ItemID Key Value sValue
1 Color 2 Red
1 Type 4 Phone
1 Note Null My note book is electronica
Ben BİRLİĞİ kadar okumaya çalışıyorum ama bu doğru cevabı ise bilmiyorum ...
Teşekkürler.