我有一个名为“钱包系统”的系统,它有一个包含三个表的数据库,如下所示:
实体:
关系:
我想从wdata
为指定的wid
选择所有数据,然后在y2014中搜索它们是否存在列表
$q=mysql_query("SELECT * FROM wdata1 as a, `y2014` as b
WHERE a.bvalue = '$pbond' and a.wid='$wid'
and b.bond='$pbond' and a.bond = b.fno and a.bvalue = b.bond");
答案 0 :(得分:0)
我不明白你的问题。试试这样的事情
SELECT
m.id,username,password,email,city,
w.id,wid,w.bond,bondvalue,
y.id,fno,date,status
FROM
wmember m
INNER JOIN wadat w ON m.id = w.wid
INNER JOIN y2014 y ON m.bond = y.bond
WHERE wid = 1
希望wmember和wadat之间的关系wadat wid是wmember中的id。 如果关系不正确,请更新查询中的ON部分
ON m.id = w.wid
正确的关系。如果需要关联多个字段,请使用 AND 作为此类
ON m.id = w.wid AND m.name = w.name
答案 1 :(得分:0)
我试着改写你的问题,然后我提交答案......
如果您拥有来自wdata的所有记录,并且在表y2014中至少有一条相关记录,请使用此查询
SELECT *
FROM wdata AS w
INNER JOIN y2014 as y
ON w.bond = y.fno
AND w.bondval = y.bond
WHERE w.wid = $wid
否则,如果你想要yd14的相关记录(如果存在)的所有wdata记录试试这个
SELECT *
FROM wdata AS w
LEFT JOIN y2014 as y
ON w.bond = y.fno
AND w.bondval = y.bond
WHERE w.wid = $wid
也许我的加入条件不是您想要的,请检查