2012-03-30 24 views
5

Birden çok soruyu bir sonuç kümesine eklemek için birleşim kullanan bir mysql sorgusu var. sorgu mükemmel çalışır.mysql - birlik içeren görünüm oluşturulamıyor

Ben bir görünüm oluşturmak için aynı sorguyu kullanmak istediğinizde Sonra bir hata mesajı alıyorum:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'union select hulaminloadnumber2,deliveryid,drop1customer from localjhb where hul' at line 2 
mükemmel çalışıyor

benim sorgu:

select hulaminloadnumber1,deliveryid,drop1customer from localjhb where hulaminloadnumber1>0 
union 
select hulaminloadnumber2,deliveryid,drop1customer from localjhb where hulaminloadnumber2>0 
union 
select hulaminloadnumber3,deliveryid,drop1customer from localjhb where hulaminloadnumber3>0 
union 
select hulaminloadnumber4,deliveryid,drop1customer from localjhb where hulaminloadnumber4>0 
union 
select hulaminloadnumber5,deliveryid,drop1customer from localjhb where hulaminloadnumber5>0 

query results

benim görünümü oluşturmak için sorgu:

create view View_LoadvsCustomer as (
select hulaminloadnumber1,deliveryid,drop1customer from localjhb where hulaminloadnumber1>0 
union 
select hulaminloadnumber2,deliveryid,drop1customer from localjhb where hulaminloadnumber2>0 
union 
select hulaminloadnumber3,deliveryid,drop1customer from localjhb where hulaminloadnumber3>0 
union 
select hulaminloadnumber4,deliveryid,drop1customer from localjhb where hulaminloadnumber4>0 
union 
select hulaminloadnumber5,deliveryid,drop1customer from localjhb where hulaminloadnumber5>0) 

bu phpMyAdmin'de aşağıdaki hatayı üretir: formatlama veya harmanlama sorunları olmalıdır böylece error message

sorgular kötü tasarlanmış tablodan tümü. Bir sendika sorgusuna karşı bir görünüm oluşturulabilir mi?

Herhangi bir tavsiye memnuniyetle karşılanır.

bir BÜYÜK haftasonları, Ryan

+1

Tüm SELECT sorguları aynı duruma sahiptir - 'hulaminloadnumber1> 0'. Doğru mu? – Devart

+0

Merhaba @Devart, haklısınız, üzgünüm bozuk kod kopyalar. soruyu düzeltecek. Bununla birlikte, aynı hata doğru kodla gerçekleşir. Teşekkürler – Smudger

+1

Hata hakkında - Ashwin'in A yanıtına bir göz atın. Düzeltecek. – Devart

cevap

23

görünüm tanımından parantez çıkarın. Bu sunucuya bug çarptı.

+0

Teşekkürler Ashwin A, mükemmel çalışıyor – Smudger

+2

Teşekkür ederiz! Tam olarak sorun ve çözüm. Gelecekte arama yapan herkese yardımcı olmak için, aldığım hata buydu: 'ERROR 1064 (42000): SQL sözdiziminizde bir hata var; 'UNION DISTINCT SELECT ...' yakınında kullanmak için doğru sözdizimi için MySQL sunucu sürümünüze karşılık gelen kılavuzu kontrol edin – dkamins