Başka bir tablodaki satır sayısı, veritabanı değerini karşılaştırın

1 Cevap php

Ilk tablodaki her öğe için, bir 'numberof' alanı vardır. Bu alanın değeri, ilgili tablodaki satır aynı sayıda olması gerekir. Bu rezervasyon satırları gibi birden fazla kullanıcı aynı anda öğeyi yaptırabilirsiniz vardır. Bu Senkronizasyonum bazen söner ve 'numberof' alanı değişkeninin daha fazla satır vardır, ve tersi.

Yani ilk tablodan 'numberof' ve diğer tablodan buna karşılık satır miktarını çıktılar bir tabloyu görüntülemek istiyorum. Onlar Ürün kimliği ile bağlantılıdır. Bu çok kafa karıştırıcı değil umuyoruz. Sorgu bir Yapılacaklar döngü while ile çıktı. İşte ben bugüne kadar zaten var sorgu:

$querySync = sprintf("SELECT 
                          COUNT(reserve_id), item_id, details, numberOf
                      FROM 
                          reservations     
                      JOIN 
                          items ON item_id = itemID_reserved    				
                      WHERE 
                          itemID_reserved = 1 ");

Yani şu anda o rezervasyonları tablodaki satır sayısını sayar. Daha sonra bu yüzden sadece kimliği ile 1 öğeyi çıktılar şu anda Tabii açıklamasını ve numberof vb görüntüleyebilirsiniz. Ama ben her öğe, onun numberof kontrol olsa gitmek almak gibi, ve olamaz ürün tabloyu birleştiren rezervasyonları tablodaki satır sayısı ile karşılaştırın.

Fikir senkronizasyon vb Sonra numberof maç için rezervasyonları tablodaki satırları yeniden inşa etmek için ihtiyaç dışında ise bir sütun üzerinde ve satır baskı sonunda her şeye sahip olmaktır.

Maalesef uzun bir tane yeter!

1 Cevap

Bu sadece "doğrudan senkronize dışında" hangi ürün hesaplamak daha kolay olabilir:

select i.item_id
from reservations r JOIN items i on (i.item_id = r.itemID_reserved)
group by i.item_id
having count(r.itemID_reserved) > i.numberOf

Ben tabloları alanlar, hangi var, ama yeterince açıklayıcı olmalıdır hangi orada bazı varsayımlar yapıyorum.