I have two table like below
create table test_user ( id INT AUTO_INCREMENT PRIMARY KEY, name varchar(64) ); create table test_info( id INT AUTO_INCREMENT PRIMARY KEY, sellerId INT, buyerId INT, x varchar, y varchar, z varchar );
how can I get all the information in table test_info and the name of the buyer AND the name of seller from the test_user table in the same statement?
select * from test_table join test_user on sellerId = test_user.id; or select * from test_table join test_user on buyerId = test_user.id;
would just give me a seller or buyer but i would like to get the result for both
Advertisement
Answer
You must join 2 copies of test_user
to test_info
:
SELECT ti.*, s.name seller_name, b.name buyer_name FROM test_info ti INNER JOIN test_user s ON ti.sellerId = s.id INNER JOIN test_user b ON ti.buyerId = b.id;
The 1st copy of test_user
is used to return the seller’s name and the 2nd to return the buyer’s name.