SELECT id from tb_category WHERE tid=79,可能返回一个id结果集,也可能返回一个null(没有子分类)嫩肤不能在 没有子分类的时候就返回当前id呢   就是79  就用mysql搞定  

解决方案 »

  1.   

    SELECT id from tb_category WHERE tid=79 or id = 79
      

  2.   

    可以   我用的union解决的  你的也是一种思路  谢谢
      

  3.   

    在php里加一句判断就好了。
    非要在mysql里联表?联表效率不低吗?
      

  4.   

    如果要在 tid=79 不成立的条件下,依然返回 79
    那么我建议你到精神科去看一下医生
      

  5.   

    SQL里加个IF判断是试试
    SELECT if(id='',tid,id)as result from tb_category WHERE tid=79
      

  6.   

    我只想用mysql解决。所以没考虑什么效率啊。。我侧重就是在sql里面搞定 不想在php里面判断
      

  7.   


    他的思路应该没问题。
    只是你说的为null而他写的代码是判断是否为空字符串。
    你改成判断是否为null试试
    SELECT if(id IS NULL,tid,id)as result from tb_category WHERE tid=79
      

  8.   

    真的很不明白楼主,这种sql肯定是不行的
    当tid=79时,查不到记录,在列上怎么判断都是不行的,楼主再好好想想吧