dana_p
یک شنبه 17 مرداد 1389, 21:11 عصر
سلام به همگی.
من یه مشکلی با join دو تا جدول دارم لطفا اگه میتونید حلش کنید.
جدول اول : شامل اطلاعات سخت افزاری
_h_id _ h_name________ _ h_model _____ h_pc_code_
________ CPU ___________ _ AMD _ _____ _ 124 _ __
________ Motherboard ____ __ Gigabyte_____ _ 124 __ _
________ RAM__________ _ _ King Stone___ __ 124 _____
________ Hard Disk______ _ _ Maxtor______ __ 124 _ _ _
جدول دوم : شامل اطلاعات نرم افزاری
_s_id _ s_name_____ _ s_pc_code_
_______ office _______ _ 124 _ _
_______ photoshop____ __ 124 _ _
دستور join:
SELECT h_name,h_model,s_name
FROM
hardware JOIN software
ON
hardware.h_pc_code = software.s_pc_code
... =where s_pc_code
خروجی:
(با فیلد pc_code ، با هم join شدن)
_______________________________________________
______h_name__________ h_model________ _ s_namel
__________ CPU ____________ _ AMD _______________office
___________Motherboard __ __ Gigabyte_____________office
___________ RAM__________ ___ King Stone __________office
___________Hard Disk______ ___ Maxtor______________office
_______ CPU ___________ _ AMD________________photoshop
_______ Motherboard ____ Gigabyte_____________photoshop
________RAM____________ King Stone___________photoshop
________Hard Disk________ Maxtor______________photoshop
اما اینجا طبیعیه که ستون s_name داره تکرار میشه، که من اینو نمیخام، یعنی میخوام یه چیزی بشه مثل شکل زیر:
________ h_name__________ h_model________ _ s_namel
___________ CPU _____________ _ AMD _______________office
________Motherboard __ ___ Gigabyte_____________photoshop
___________________________ RAM__________ ____ King Stone
______________________________Hard Disk______ ____ Maxtor
یعنی یه جورایی ستون s_name تکرار نشه و بقیه اش NULL باشه.
من خودم فکر میکنم مشکل از طراحی جدول هام باشه، اما فعلا چیزی به ذهنم نمیرسه، اگه پیشنهادی دارین بفرمائید، اگه توضیحم کامل نیست بفرمائید تا بیشتر توضیح بدم.
ممنون.
من یه مشکلی با join دو تا جدول دارم لطفا اگه میتونید حلش کنید.
جدول اول : شامل اطلاعات سخت افزاری
_h_id _ h_name________ _ h_model _____ h_pc_code_
________ CPU ___________ _ AMD _ _____ _ 124 _ __
________ Motherboard ____ __ Gigabyte_____ _ 124 __ _
________ RAM__________ _ _ King Stone___ __ 124 _____
________ Hard Disk______ _ _ Maxtor______ __ 124 _ _ _
جدول دوم : شامل اطلاعات نرم افزاری
_s_id _ s_name_____ _ s_pc_code_
_______ office _______ _ 124 _ _
_______ photoshop____ __ 124 _ _
دستور join:
SELECT h_name,h_model,s_name
FROM
hardware JOIN software
ON
hardware.h_pc_code = software.s_pc_code
... =where s_pc_code
خروجی:
(با فیلد pc_code ، با هم join شدن)
_______________________________________________
______h_name__________ h_model________ _ s_namel
__________ CPU ____________ _ AMD _______________office
___________Motherboard __ __ Gigabyte_____________office
___________ RAM__________ ___ King Stone __________office
___________Hard Disk______ ___ Maxtor______________office
_______ CPU ___________ _ AMD________________photoshop
_______ Motherboard ____ Gigabyte_____________photoshop
________RAM____________ King Stone___________photoshop
________Hard Disk________ Maxtor______________photoshop
اما اینجا طبیعیه که ستون s_name داره تکرار میشه، که من اینو نمیخام، یعنی میخوام یه چیزی بشه مثل شکل زیر:
________ h_name__________ h_model________ _ s_namel
___________ CPU _____________ _ AMD _______________office
________Motherboard __ ___ Gigabyte_____________photoshop
___________________________ RAM__________ ____ King Stone
______________________________Hard Disk______ ____ Maxtor
یعنی یه جورایی ستون s_name تکرار نشه و بقیه اش NULL باشه.
من خودم فکر میکنم مشکل از طراحی جدول هام باشه، اما فعلا چیزی به ذهنم نمیرسه، اگه پیشنهادی دارین بفرمائید، اگه توضیحم کامل نیست بفرمائید تا بیشتر توضیح بدم.
ممنون.