Mysql从第一个表格中获取数据库中的一列数据第二表3列

时间:2012-05-10 05:51:30

标签: mysql join

我有两张桌子optionvalues& valprice

我有 opt_id &两个表格中的 prod_id 相同。

optionvalues

id opt_id item_id  value   value_img
 1    1       5     Big       img1
 2    1       6     Small     img1

valprice

price_id    price_dir          price    prod_id        val_id   item_id
  1                +             10        1               1       7
  2                -             5         1               2       7

我的查询:

SELECT  op.value, vp.price_dir, vp.prod_id, vp.price, vp.val_id
from optionvalues op, valprice vp
where op.opt_id=1 and vp.prod_id=1

输出:

Big +10
Big -5
Small +10
Smaall -5

我想要这个

Big +10
Small -5

2 个答案:

答案 0 :(得分:1)

你需要告诉MySQL应该如何加入表格:

SELECT op.value, vp.price_dir, vp.prod_id, vp.price, vp.val_id
FROM   optionvalues op JOIN valprice vp ON vp.val_id = op.id
WHERE  op.opt_id=1 AND vp.prod_id=1

阅读this tutorial以获取有关SQL连接的更多信息。

答案 1 :(得分:0)

查询应为

SELECT  op.value, vp.price_dir, vp.prod_id, vp.price, vp.val_id
 from optionvalues op, valprice vp
 where op.opt_id=vp.prod_id and op.opt_id=1