问题1:

SELECT if(COUNT(0),1,0) as 'IsPresent'
FROM table1
WHERE Id=1500;

查询2:
如果IsPresent为1,则
select t2.mark,t2.age from table2  t2,table1 t1
where  t1.ID=t2.ID order by t1.ID;

如果IsPresent为0,则
select mark,age from table2;

如果表中有条目,我需要加入,否则我不需要加入。
有什么方法可以通过一个mysql select查询来实现这一点吗?

最佳答案

我认为您可以将两个不同的查询案例合并起来,如下所示:

SELECT T2.MARK, T2.AGE
FROM TABLE1 T1, TABLE2 T2
WHERE
  T1.ID=T2.ID AND
  T1.ID=1500
UNION
SELECT MARK, AGE
FROM TABLE1
WHERE
  NOT ID=1500

关于mysql - 基于条件的选择和联接查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7814440/

10-14 14:56
查看更多