Forum

SQL Tablo Birleştir...
 
Bildirimler
Hepsini Temizle

[Çözüldü] SQL Tablo Birleştirme Hk.

5 Yazılar
2 Üyeler
2 Reactions
1,027 Görüntüleme
(@resulergun)
Gönderiler: 85
Estimable Member
Konu başlatıcı
 

Merhaba,

wp_entry_data diye bir tablom var.
İçerisindeki veri şöyle,

entry_id   element_id    value
2               6                    Kırmızı
2               8                    Sarı
2               11                  5
2               13                  Kutu

Bunları,
Kırmızı, Sarı, 5, Kutu

SQL sorgusu ile nasıl yanyana sıralarım, ancak sorun şu MySQL kullanılıyor phpMyAdmin üzerinden, nasıl sıralayacağımı çözemedim.

Desteğinizi rica ederim.

Tablo görseli.

image

 

Sorgu sonrası yapılmak istenilen data,

image
 
Gönderildi : 16/05/2023 13:33

(@serkanates)
Gönderiler: 1317
Üye
 

Bunun için view veya procedure oluşturmalısınız.

Kolon bazında ayrımı aşağıdaki örnek sorgu ile yapabilirsiniz. Sonucu ayrıca gruplandırarak NULL değerleri gözardı etmelisiniz. Bu şekilde başlayın, takıldığınız yerde yine destek olmaya çalışırız.

SELECT
CASE WHEN element_id=6 THEN value END AS Renk,
CASE WHEN element_id=8 THEN value END AS Ambalaj,
CASE WHEN element_id=11 THEN value END AS Adet,
CASE WHEN element_id=13 THEN value END AS Cinsi
FROM wp_entry_data;

Bu sorgu size 4 satırlık sonuç döner. Bu sonucu tekrar sorgulayarak gruplandırabiliriz. Temporary table kullanabilirsiniz, view olur, procedure olur. Projenizin ihtiyaçlarına göre yöntemi kendiniz seçebilirsiniz.

İyi çalışmalar.

 
Gönderildi : 17/05/2023 00:25
Resul ERGÜN reacted

(@resulergun)
Gönderiler: 85
Estimable Member
Konu başlatıcı
 

@serkanates Çok teşekkür ederim, ne çok uğraşmıştım bu hale getirebilmek için.

Çözüm için farklı yollar arayışına girmiştim.

Sağlıkla kalın. 🖐️ 

 
Gönderildi : 17/05/2023 08:31

(@resulergun)
Gönderiler: 85
Estimable Member
Konu başlatıcı
 

@serkanates sorgudan yola çıkarak çözüme kavuştum.

SELECT
MAX(CASE WHEN e.element_id = 6 THEN e.value END) AS Adı,
MAX(CASE WHEN e.element_id = 8 THEN e.value END) AS Soyadı,
MAX(CASE WHEN e.element_id = 11 THEN e.value END) AS Telefon,
MAX(CASE WHEN e.element_id = 13 THEN e.value END) AS Mail
FROM wp_entry_data e
GROUP BY e.entry_id
ORDER BY e.entry_id DESC;

 

image
 
Gönderildi : 17/05/2023 16:14
Hakan Uzuner reacted

(@serkanates)
Gönderiler: 1317
Üye
 

Geri bildiriminiz için teşekkürler, iyi çalışmalar.

 
Gönderildi : 18/05/2023 21:50

Paylaş: