我有两张桌子:Invoice
id number date client end client city vracht
1 4271 2014-5-28 ALLIN STIHO ZWOLLE 0
和Materials
。
id number material thickness length width amount price
1 14271 Ocoume 10 2500 1220 150 2,3
2 14271 Ocoume 15 2500 1220 60 2,3
3 14271 Ocoume 18 2500 1220 125 2,3
4 14271 Ocoume 22 2500 1220 44 2,3
5 14271 Ocoume 40 2150 1000 72 2,3
6 14271 Ocoume 18 3100 1530 25 2,3
在Invoice
表中是发票。在Materials
表中是属于发票的材料。
我想要的是将具有相同发票号(表中的数字列)的那些与选择查询组合在一起,如下所示:
number date client end client city vracht material thickness length width amount price
14271 2014-5-28 ALLIN STIHO ZWOLLE 0 Ocoume 10 2500 1220 150 2,3
14271 2014-5-28 ALLIN STIHO ZWOLLE 0 Ocoume 15 2500 1220 60 2,3
14271 2014-5-28 ALLIN STIHO ZWOLLE 0 Ocoume 18 2500 1220 125 2,3
14271 2014-5-28 ALLIN STIHO ZWOLLE 0 Ocoume 22 2500 1220 44 2,3
14271 2014-5-28 ALLIN STIHO ZWOLLE 0 Ocoume 40 2150 1000 72 2,3
14271 2014-5-28 ALLIN STIHO ZWOLLE 0 Ocoume 18 3100 1530 25 2,3
这个查询怎么样?
答案 0 :(得分:3)
select * from invoice, materials where invoice.number=materials.number
而不是*,建议写下所需的列..
答案 1 :(得分:3)
select
`f`.`number`,
`f`.`client`,
`f`.`eind_client`,
`f`.`city`,
`f`.`vracht`,
`m`.`material`,
`m`.`thickness`,
`m`.`length`,
`m`.`width`,
`m`.`amount`,
`m`.`price`
from
`invoice` as `f`
right outer join
`materials` as `m`
on
`f`.`number`=`m`.`number`
答案 2 :(得分:2)
如上所述,如果你有外键关系,你可以使用JOIN.
这应该会给你想要的结果。
您可以使用:
Select "columns you need " or "* "from invoice, materials
WHERE invoice.number = material.number
答案 3 :(得分:1)
您可以使用JOIN从两个表中检索列。
示例:
SELECT *
FROM
Invoice AS i,
Materials AS m,
WHERE
m.number = i.number
AND
m.number = 14271
答案 4 :(得分:1)
您可以使用加入。
SELECT * FROM Material as M LEFT JOIN Invoice as I ON I.number=M.Number