私はMySQLに取り組んでいますが、ある時点で少し立ち往生しています。検索クエリを起動して、データベース テーブルから一致するレコードを取得したいと考えています。すべて正常に動作しますが、内部選択を使用して取得したレコードを検索しようとすると、検索されません。そのためのクエリを起動する方法がわかりません。
これがsqlfiddleの私のデモです
SQL コード:
CREATE TABLE supplier
(
supplier_id int auto_increment primary key,
supplier_name varchar(20)
);
INSERT INTO supplier
(supplier_name)
VALUES
('billgate'),
('jobs'),
('zukkerburg');
CREATE TABLE products
(
product_id int auto_increment primary key,
supplier_id int,
product_name varchar(20)
);
INSERT INTO products
(supplier_id,product_name)
VALUES
('1','microsoft'),
('2','apple'),
('3','facebook');
すべてのレコードを取得するためのクエリ:
SELECT *,(SELECT supplier_name FROM supplier WHERE supplier_id = products.supplier_id) AS supplier_name FROM products ORDER BY product_id DESC
上記のデモで、以下のようにクエリを起動すると、正しい結果が得られます。
SELECT *,(SELECT supplier_name from supplier where supplier_id = products.supplier_id) as supplier_name FROM products WHERE product_name LIKE '%facebook%' ORDER BY product_id desc
しかし、リストからsupplier_nameを検索したいのですが、どうすればこれを達成できますか?
-------------HERE YOUR SQL QUERY (ANSWER)----------
ご協力いただきありがとうございます。