Sql 如何查询同一字段中的两列?

Sql 如何查询同一字段中的两列?,sql,Sql,假设我有两张桌子: USER(uid, uname); ITEM(iid, description); TRANSACTION(buyer, seller, item); transaction.buyer和transaction.seller参考user.uid。 transaction.itemreferencesitem.iid 如何查询交易的买方和卖方的名称?您需要两个连接: select t.*, b.uname as buyerName, s.uname as sellerName

假设我有两张桌子:

USER(uid, uname);
ITEM(iid, description);
TRANSACTION(buyer, seller, item);
transaction.buyer
transaction.seller
参考
user.uid
transaction.item
references
item.iid

如何查询交易的买方和卖方的名称?

您需要两个连接:

select t.*, b.uname as buyerName, s.uname as sellerName
from transaction t join
     user b
     on t.buyer = b.uid join
     user s
     on t.seller = s.uid

但这不会导致3列,因为你有3个选择字段吗?@drum。如果只需要这两个名称,请删除
t.*
。我想您还需要其他事务详细信息。我明白了,我不确定如果删除它是否会影响查询。