मेरे पास एक टेबल ग्राहक है जो ग्राहक_आईडी, ईमेल और संदर्भ संग्रहीत करता है। एक अतिरिक्त तालिका ग्राहक_डेटा है जो ग्राहक को किए गए परिवर्तनों का ऐतिहासिक रिकॉर्ड संग्रहीत करती है, यानी जब कोई बदलाव होता है तो कोई नई पंक्ति डाली जाती है।MySQL केवल हाल ही की पंक्ति में शामिल हों?
किसी तालिका में ग्राहक की जानकारी प्रदर्शित करने के लिए, दोनों तालिकाओं को शामिल करने की आवश्यकता है, हालांकि ग्राहक_डेटा से केवल हालिया पंक्ति ग्राहक तालिका में शामिल होनी चाहिए।
यह थोड़ा और जटिल हो जाता है कि क्वेरी पेजिनेटेड है, इसलिए इसकी सीमा और ऑफसेट है।
मैं इसे MySQL के साथ कैसे कर सकता हूं? मुझे लगता है मैं वहाँ कहीं एक अलग डाल करने के लिए ...
क्षण में क्वेरी इस-
SELECT *, CONCAT(title,' ',forename,' ',surname) AS name
FROM customer c
INNER JOIN customer_data d on c.customer_id=d.customer_id
WHERE name LIKE '%Smith%' LIMIT 10, 20
Additionaly की तरह है चाहता हूँ, मैं सोच में सही मैं में की तरह साथ concat उपयोग कर सकते हैं इस तरफ?
(मुझे खुशी है कि आंतरिक शामिल हों उपयोग करने के लिए शामिल हों गलत प्रकार का हो सकता है। मैं वास्तव में कोई सुराग नहीं क्या अंतर अलग मिलती है के बीच है। मैं अब कि गौर करने के लिए जा रहा हूँ है!)
कैसे ग्राहक इतिहास तालिका कैसा दिखाई देता है कर सकता है? सबसे हालिया पंक्ति कैसे निर्धारित की जाती है? क्या कोई टाइमस्टैम्प फ़ील्ड है? –
सबसे हाल ही में केवल अंतिम पंक्ति डाली गई है - इसलिए इसकी प्राथमिक कुंजी उच्चतम संख्या है। – bcmcfc
क्यों एक ट्रिगर नहीं? इस जवाब पर एक नज़र डालें: http://stackoverflow.com/questions/26661314/best-and-optimal-way-to-join-max-value-from-other-table/26664982#26664982 –