2016-03-29 7 views
0

1 ~ 9 ile pm_message tablolarım var ve MySQL sorgusunun sürecini basitleştirmek için bir görünüm oluşturmak istiyorum. Ben neYinelenen sütunlarla nasıl bir görünüm oluşturabilir ve birleştirebilirim?

Ben douplicate sütun ile hata var

CREATE VIEW `pm_messages` AS 
SELECT * FROM 
`pm_messages_0`, 
`pm_messages_1`, 
`pm_messages_2`, 
`pm_messages_3`, 
`pm_messages_4`, 
`pm_messages_5`, 
`pm_messages_6`, 
`pm_messages_7`, 
`pm_messages_8`, 
`pm_messages_9`; 

olduğunu. Hiç bir kayıt yok, bunların hepsini bir arada görmek istiyorum, ne yapmalıyım?

+1

Tüm tablolara katılmak yerine daha iyi bir çözüme sahip olabileceğinizi düşünüyorum, ancak "sendika" yerine "," SELECT * FROM pm_messages_0 birliği pm_messages_1 birliği pm_messages_2, ... " –

+0

" pm_message tablolarınız var mı? 1 ~ 9' tablolarla benzersiz alan ?? –

+0

Görünüm yerine, bir 'UNION' tablosu oluşturabilirsiniz. – Barmar

cevap

0

Devasa bir çapraz birleştirmeyi kodladınız. Satır sayısına bağlı olarak, evren entropi ısı ölümüne maruz kalmadan muhtemelen geri dönmeyecekti.

Sana birliği istiyorum neredeyse eminim: Tüm tablolar aynı sayıda sütun ve türünü varsa

CREATE VIEW `pm_messages` AS 
SELECT * FROM `pm_messages_0` union all 
SELECT * FROM `pm_messages_1` union all 
SELECT * FROM `pm_messages_2` union all 
SELECT * FROM `pm_messages_3` union all 
SELECT * FROM `pm_messages_4` union all 
SELECT * FROM `pm_messages_5` union all 
SELECT * FROM `pm_messages_6` union all 
SELECT * FROM `pm_messages_7` union all 
SELECT * FROM `pm_messages_8` union all 
SELECT * FROM `pm_messages_9`; 

Bu çalışacaktır. Değilse, her seçimin aynı sayı ve sütun türünü döndürecek şekilde sütunları açıkça seçmeniz gerekir.

İlgili konular