2017-01-21 6 views
0

MySQLのサブクエリに関する特定の問題について助けが必要です。これは、私が持っている問題の短所です。MySQLでサブクエリを使用する

私はテーブル1に "SupplyID"というカラムがあり、これはテーブル2の "ID"に対応しています。私は単一のサプライヤーからのものでリストを取得する必要があります。

私はこれを試みたが、うまくいきませんでした

select name 
from item 
where SupplyID exists (
    select * 
    from SupplyID 
    where SupplyID = ID 
); 
+0

事例IDのためにあなたは、[この](http://www.w3schools.com/sql/sql_join_inner.asp)が必要です1つのテーブル –

答えて

1

はこのお試しくださいジョイン:

select name from item i where exists (select * from table2 t where i.SupplyID = t.ID); 
+0

ありがとう!これは機能しましたが、1つのIDを取得する必要がある場合はどうすればよいですか?コマンドにIDを必要とするより簡単な解決法はありますか? – GossetStudent

2

あなたのテーブルが命名されていると仮定すると、TABLE1とtable2のあなたをあなたが内部を使用することができ

select distinct t1.name 
from ybale as t1 
inner join table2 as t2 on t1.ID = t2.SupplyID 
0

私の答えは、scaisEdgeの答えによく似ていますが、私は強くお勧めします彼とLEFT JOIN。そしてあなただけの1つのIDを選択する場合は、それを表示したい場合は、= 10

SELECT T1.name 
FROM item AS T1 
LEFT JOIN SupplyID AS T2 ON T2.SupplyID=T1.ID 
WHERE T1.ID = 10 
関連する問題