Bu benim ilk soru, bu yüzden açık olmaya çalıştım (onun çok uzun değil umut!)
Ben (veri birçok yerde alınıp satılan birden çok ürün temsil) kabaca aşağıdaki yapıya sahip satış verileri MySQL tablodan kaynaklanan bir php tablodaki verileri denemek ve karşılaştırmak için MySQL ve PHP kullanıyorum.
price
quantity
type
buyflag
location
'Buyflag' boolean ve kaydedilen fiyat buyflag = true bir öğe için satın alındı ve buyflag = false ürün satılan bir fiyatı gösteren fiyat nerede öğe, satın veya satılan fiyatı olup olmadığını temsil eder.
Ben madde birinci konumda aldım ve ikinci konumda satılan olduğunda her ürün çeşidine göre iki konumlarını karşılaştıran bir sorgu sonuç istiyorum. Diğer bir deyişle, bu gibi bir şey görünüyor:
type | quantity | 'buyprice' | 'sellprice'
'buyprice' nerede bu konumda 1 ve 'sellprice' satın alındı fiyat bu konumda 2 satıldı fiyattır.
Ben kullanmak mümkün oldum bazı araştırma katılır ve alt sorgular diğer sonuçlarını görüntülemek için ama verileri tek bir tabloda tüm ama gerektirecek gibi görünüyor zaman bu özel sorguda son iki sütun sorgulamak için nasıl bu durumda stumped sonra iki ifadeleri dışarı kazmak NEREDE.
select type, quantity, max(price) as buyprice
from marketfile
where (buyflag=true and location=102)
group by type;
ilk 3 sütun olsun, ya da olacak
select type, quantity, min(price) as sellprice
from marketfile
where (buyflag=false and location=75)
group by type;
Birinci, ikinci ve dördüncü sütunlar alacak ama ben tek sorguda tüm almak için nasıl anlamaya olamaz.
Benim oldukça kötü sorgu çaba (başarısız) kadar oldu:
select type, quantity, min(price) as buyprice,
(select max(price) from marketfile where (buyflag=false and location=75)) as sellprice
from marketfile
where (buyflag=true and location=102)
group by type;
Ben tek bir sorguda bunu istiyorum nedeni konumda 1 aldığım ve 2 konumundayken satılan kalemlerin yüzlerce listesini aşağı bakmak ve üzerinde marjları bakabilirsiniz böylece daha sonra bir tablo olarak sorgu görüntülemek için PHP kullanmak için Ürüne göre bu özel yol.
Ben yukarıdaki gibi iki ayrı sorguları kullanarak ve yeni bir tabloya onları damping ve o tabloyu yeniden sorgulayarak benim MySQL yetersizlikleri gidermek için çeliyor. Daha sonra birçok yerlerde ve (çalışmak için ve bu nedenle tablolar) yollarının nedenle katlanarak artan sayıları ile çalışmak istiyorsanız, bu geçici çözüm, özellikle şık görünmüyor.
Herhangi bir yardım için şimdiden teşekkür ederiz.