के साथ काम नहीं करने में शामिल हो गया है, मैं सहयोगी चयनों के लिए स्वयं व्याख्या करने वाले नामों का उपयोग करना चाहता हूं, और कभी-कभी डुप्लीकेट से बचने के लिए भी अनिवार्य है, इसलिए मैं एएस कीवर्ड का उपयोग करता हूं। लेकिन यह मुझे बाएं जुड़ने के साथ कुछ परेशानी दे रहा है।MySQL एएस कीवर्ड
यह काम करता है:
$sql = "SELECT *,
projects.id as projects_id
FROM projects";
$sql .= " LEFT JOIN".
" (SELECT
projectfiles.id as projectfiles_id,
projectfiles.fileID as projectfiles_fileID,
projectfiles.projectID as projectfiles_projectID
FROM projectfiles
) AS projectfiles".
" ON projects.id = projectfiles_projectID";
हालांकि अब मैं projects
से बेकार डेटा के साथ खत्म हो, क्योंकि यह भी खेतों userID
और name
, जो मैं की जरूरत नहीं है ऊपर उठाता है। यह आईडी को दो बार उठा रहा है।
तो मैंने इसे बदलने की कोशिश की;
$sql = "SELECT
projects.id as projects_id
FROM projects";
पर लाइन बनने
" ON projects_id = projectfiles_projectID";
लेकिन उस त्रुटि Unknown column projects_id
तो मैंने कोशिश की
" ON projects.projects_id = projectfiles_projectID";
लेकिन अब भी वही त्रुटि
मैं दे दी है साथ
तो प्रयोग शुरू किया, और
$sql = "SELECT id,name,userID FROM projects";
$sql .= " LEFT JOIN".
" (SELECT
projectfiles.id as projectfiles_id,
projectfiles.fileID as projectfiles_fileID,
projectfiles.projectID as projectfiles_projectID
FROM projectfiles
) AS projectfiles".
" ON projects.id = projectfiles_projectID";
(एक परीक्षण के रूप) और मेरे आश्चर्य, बायाँ शामिल होने के कुछ भी लेने के लिए नहीं मालूम था की कोशिश की।
कोड:
$sql = "SELECT id,name,userID FROM projects";
$sql .= " LEFT JOIN".
" (SELECT
projectfiles.id as projectfiles_id,
projectfiles.fileID as projectfiles_fileID,
projectfiles.projectID as projectfiles_projectID
FROM projectfiles
) AS projectfiles".
" ON projects.id = projectfiles_projectID";
$res = mysql_query($sql);
if(!$res) die(mysql_error());
if(mysql_num_rows($res) > 0)
{
$rownum = 0;
while($row = mysql_fetch_assoc($res))
{
print_r($row);
echo "<br/><br/>";
$rownum++;
}
}
आउटपुट:
कौन सा अजीब है projects
लेकिन 3 में केवल एक पंक्ति है कि projectID साथ projectfiles
में है, क्योंकि ... क्या मैं गलत कर रहा हूँ ?
पर हालत में स्तंभ नाम के कहने का प्रयोग करें और जब भी चयन करते समय, यह दे देंगे आप समाधान सही करते हैं। एएस का उपयोग करके जटिल करने की आवश्यकता नहीं है। अपना नमूना डेटा दिखाएं और आवश्यक ओ/पी। –
आपके अपेक्षित आउटपुट क्या है? –
क्या आप प्रोजेक्ट टेबल के साथ एकल रिकॉर्ड चाहते हैं तो DISTINCT का उपयोग करें। –