使用where子句连接表

时间:2015-12-28 09:21:50

标签: mysql

我有两张桌子,结构如下:

表1

  • schid
  • 名称
  • 成本

表2

  • schid
  • 细节
  • oldcost

我无法编写查询来显示表2中的记录,假设类型为A OR B(这里你可以看到类型字段在表1中),这里还要补充一点是schid不是主要的key,我正在执行的查询是检索比预期更多的记录,我认为由于加入,我可以不使用连接执行它

4 个答案:

答案 0 :(得分:0)

SELECT *
FROM Table1
JOIN Table2 ON Table1.schid=Table2.schid
WHERE Table1.type='A'
  OR Table1.type='B'

答案 1 :(得分:0)

这会有所帮助:

SELECT t2.schid, t2.details, t2.oldcost
FROM Table2 t2
   JOIN Table1 t1
      ON t1.schid = t2.schid
WHERE t1.type IN ('A', 'B');

答案 2 :(得分:0)

这应该只检索符合条件的表2记录。

SELECT t2.*
FROM Table2 t2
JOIN Table1 t1 ON t1.schid = t2.schid
WHERE t1.type = 'A'
 OR t1.type = 'B';

答案 3 :(得分:0)

SELECT t2.*
FROM `Table2` t2
JOIN `Table1` t1 ON t2.`schid`=t1.`schid`
WHERE t1.`type` IN ('A','B');