5
我在PHP MySQL的 產品,product_fact三個表,其實 架構是這樣選擇多個值SQL從另一個查詢
產品
id , name (1000 records)
EG-
id | name
-------+--------
1125 | key chain
1135 | bikes
1145 | cars
id =有每個產品都有一個唯一的ID產品的不同ID號,
名 =產品名稱
product_fact
product_id, fact_id
PRODUCT_ID =這是一樣的id即產品表
fact_id =這是事實ID每個產品都有一些事實,許多產品有不止一個事實。
EG-
product_id | fact_id
------------+----------
1125 | 5
1125 | 7
1125 | 6
1135 | 8
1145 | 9
1145 | 2
事實
id , name
ID =此被fact_id相同表product_fact
名稱 =這是事實的名稱。
EG-
id | name
--------+---------
2 | black
8 | free
5 | sold
6 | coming soon
9 | new
現在我要選擇與產品相關的特定事實的名字,但是當我執行這個查詢 - >
SELECT name
FROM fact
Where id = (SELECT fact_id
FROM product_fact
Where product_id='1125');
它說子查詢返回多個1行
但是,當我運行此查詢 - >
SELECT name
FROM fact
Where id = (SELECT fact_id
FROM product_fact
Where product_id='1135');
它給了我正確的輸出:免費
我應該怎麼做,現在應該顯示其實名的其他產品的任何幫助, 我應該有什麼其他的我的查詢,包括..任何幫助
及其與工作.. THX的人使用
IN
代替=
或 – iOSBee