2017-04-12 136 views
0

我只是想知道這是否可能我找到了一些在這裏計算器,但我不明白的不同以及其他選擇(選擇)代碼如何選擇和選擇相同的查詢?

tblproducts

motherboard,  cpu, 
Asus_board   intel 
MSI_board   amd 

哪裏在此表中他們也有相同的名字

兼容性

motherboard,  form_factor, 
Asus_board   ATX 
MSI_board   AT 

查詢我有

$query = "Select from tblproducts where category = 'motherboard' AND Select from compatibilty where form_factor = 'ATX'"; 

我做了不同的表,使主板的兼容性,我真的需要tblproducts因爲該表有產品圖片

我想輸出將只過濾那些ATX form_factor將會輸出 謝謝你的理解不擅長編程

輸出將會是Asus_board,因爲它只有ATX fo rm_factor

+0

如果您共享您的預期輸出,則有助於瞭解你想要什麼。 – Sadikhasan

+0

也許我在做查詢時不好:) –

回答

1
SELECT tblproducts.motherboard, tblproducts.cpu, compatibility.form_factor 
FROM tblproducts, compatibility 
WHERE compatibility.form_factor = 'ATX' 
AND tblproducts.motherboard = compatibility.motherboard 

如果你只是想tblproducts列,只是刪除從SELECT條款的compatibility表的任何引用(但把它留在FROMWHERE條款)。

+0

正確的答案,雖然對於像@Aze Ronquillo這樣沒有經驗的用戶來說,Oracle風格的加入可能有點混亂! – rpd

+0

謝謝!我很感謝你的幫助,我試着去理解這個我曾經體驗過Oracle的人。 –

2

只需加入那些表,並給出condtion。

select a.motherboard from tblproducts a join compatibility b on (a.motherboard=b.motherboard) 
where b.form_factor='ATX' 
+2

只要'form_factor'只在其中一個表上;爲了避免含糊不清,我會去做'WHERE b.form_factor ...'。 –

+1

是的,我編輯它,以避免歧義。謝謝@蒂姆劉易斯 – Rams