SELECT * FROM tablo1 INNER JOIN tablo2 ON tablo1.id=tablo2.a:7:{i:0;s:2:"49";i:1;s:2:"50";i:2;s:2:"51";i:3;s:2:"52";i:4;s:2:"54";i:5;s:2:"55";i:6;s:3:"108";}ama bu serialize işlemini nasıl eşleyeceğimi bulamadım. Yardım edebilecek birisi olursa sevinirim.
Mysql de INNER JOIN işlemi sırasında Serialize veri sorgulama
4
●174
- 15-01-2023, 13:20:58tablo1 ve tablo2 tablolarımı inner join ile birleştiriyorum fakat birleştirirken birleşimi uygulayacağım tablomda arrayı serialize şeklinde veri saklıyorum.
- 15-01-2023, 14:25:02Kimlik doğrulama veya yönetimden onay bekliyor.Örneğiniz PHP serileştirilmiş veriye benziyor - bu PHP'ye özgü ve MySQL bunu anlamaz. Genel olarak sorgulamak istediğiniz verileri seri hale getirmemelisiniz. İlişkisel bir veritabanı olarak MySQL, tablolarla ve sütun değerleriyle (genellikle bir bütün değer olarak) çalışacak şekilde tasarlanmıştır. Bazı durumlarda sütun değerleri içinden değerleri sorgulamak/çıkarmak mümkün olsa da, bu genellikle performans açısından tercih edilen birşey değil.
- 15-01-2023, 20:48:39AndyCap adlı üyeden alıntı: mesajı görüntüle
tablo1 INNER JOIN tablo2 AS f ON tablo2.kategori REGEXP CONCAT('.*i:[0-9];s:[0-9]:\"',tablo1.id,'\".*.')Buyrun hocam çözümünü buldum.
Sizinde ihtiyacınız olabilir.
Dediğiniz gibi zaten veriler ayrı tablolarda fakat bir firma birden fazla kategori üyesi olduğundan mecbur aynı kolonda tutmam gerekir. - 28-01-2023, 20:32:05MySQL'de serialize veri tipi ile çalışmak için öncelikle veriyi deserialize etmeniz gerekir. Bu işlemi yapmak için kullanabileceğiniz fonksiyonlar arasında PHP tarafındaki unserialize() fonksiyonu ve MySQL tarafındaki CAST() fonksiyonu bulunmaktadır. Örneğin, aşağıdaki sorguda tablo1 ve tablo2 tablolarını id değerleri eşleştirilerek birleştirmek için kullanılır ve tablo2.a sütununun serialize verisi CAST() fonksiyonu ile deserialize edilir:
SELECT * FROM tablo1 INNER JOIN tablo2 ON tablo1.id = CAST(tablo2.a AS CHAR);
Ancak, unutmayın ki serialize veri tipi veritabanı için uygun bir veri tipi değildir ve veritabanı için uygun veri tipleri kullanmanız önerilir. Bu nedenle, serialize edilmiş verileri veritabanında saklamamak ve bunları daha sonra deserialize ederek kullanmak daha uygun olacaktır. - 29-01-2023, 02:25:05Bilgi için teşekkürler hocam. Üst tarafta kodu vermiştim işimi çözdüm ama en azından CAST in ne işe yaradığını öğrenmiş oldum ileride kullanırımalit adlı üyeden alıntı: mesajı görüntüle