我有两张桌子,一张上面有一大堆物品,另一张是用来交易这些物品的。
下面是示例表:
主桌

| ID | TITLE | STATUS | TRADE |
-------------------------------
|  1 | test1 |    1   |   1   |
|  2 | test2 |    1   |   1   |
|  3 | test3 |    1   |   0   |
|  4 | test4 |    0   |   1   |

贸易表
| ID | TRADER | ITEM | URL                           |
------------------------------------------------------
|  1 |    2   |   1  | HTTP://www.test.com/itemOne   |
|  2 |    5   |   3  | HTTP://www.test.com/itemThree |
|  3 |    5   |   4  | HTTP://www.test.com/itemFour  |

假设我想有一个清单,列出交易者5没有交易的所有项目,并且状态为1。因此,当交易者5来到网站,他们将能够选择剩余的项目进行交易。
以下是我尝试过的:
$sql = "SELECT m.id, m.title
        FROM main AS m, trade AS t
        WHERE m.trade >= 1 && m.status = 1 &&
        t.trader <>". mysql_real_escape_string($traderID);

这段代码不起作用有什么想法吗?

最佳答案

我不清楚Trades中的哪个列是FK到Main的。下面,我假设它是Item列:

select m.id, m.title
from Main m
where not exists (
    select *
    from trade
    where m.id = item
        and trader = 5
)
    and m.status = 1

10-01 04:12
查看更多