-2

我在获取满足我需求的正确查询时遇到了一些问题

SELECT tbl_participants.name, 
       tbl_transactions.consumer_rfid, 
       tbl_transactions.trans_price 
FROM   tbl_participants, 
       tbl_transactions 
WHERE  tbl_participants.id = tbl_transactions.trader_id

我拥有的是 2 个简单的表:一个存储参与者(交易者/消费者),另一个存储交易(从交易者到消费者)。我试图带回以下信息:交易者姓名、消费者姓名和交易价格

tbl_participants 有 id(唯一),名称(参与者) tbl_transactions 有 trader_id(取自上表),消费者 rfid(取自上表)

我的查询应该返回交易者姓名(基于 id)、消费者姓名(基于 rfid)和交易价值

谢谢

4

2 回答 2

0

阅读评论只是一个半疯狂的猜测:

SELECT tbl_participants.name AS consumer,
       tbl_transactions.trans_price AS price
FROM   tbl_participants,
       tbl_transactions
WHERE  tbl_participants.id = tbl_transactions.trader_id;

我无法弥补你的意思name | consumer name | price...

编辑:在获得更多信息后,这就是我想出的:

SELECT p1.name AS name,
       p2.name AS consumer_name,
       t.trans_price AS price
FROM   tbl_participants p1,
       tbl_participants p2,
       tbl_transactions t
WHERE  p1.id = t.trader_id
AND    p2.card_rfid = t.consumer_rfid;
于 2013-01-24T23:15:33.317 回答
-1

试试这个:

   SELECT tbl_participants.name AS consumer, 
           tbl_transactions.consumer_rfid, 
           tbl_transactions.trans_price 
    FROM   tbl_participants, 
           tbl_transactions 
    WHERE  tbl_participants.id = tbl_transactions.trader_id 

我不明白您使用相同的两个表的问题。所以可以毫无问题地进行选择。

编辑如果您不想要 consumer_rfid 只需将其删除。

    SELECT tbl_participants.name AS consumer,
    tbl_transactions.trans_price 
    FROM   tbl_participants,tbl_transactions
    WHERE  tbl_participants.id = tbl_transactions.trader_id
于 2013-01-24T23:12:12.163 回答