如何在SELECT中隐藏列

时间:2019-04-04 21:23:30

标签: sql pgadmin

我必须获得一列隐藏选择的内容。更具体地说,是s.spelersnr,但我不知道怎么做。

我尝试选择要在ORDER BY中使用的列,但我不想让它显示在结果中。

const {gql} = require('apollo-server');

const typeDef = gql 
`
    type Query {
        "These are the queries we define in our query type"
        me(user_id: ID): User
    }
    "How to define the structure of user? Below is an object type that does this:"
    type User {
        user_id: ID,
        username: String,
        email: String
    }
`;

module.exports = typeDef;

在没有b.spelersnr的情况下,我应该得到结果。 但我确实知道该如何隐藏它?

1 个答案:

答案 0 :(得分:-1)

使用GROUP BY

SELECT naam, voorletters, TO_CHAR(geb_datum,'dd-mm-yyyy') AS  geboortedatum
FROM spelers s LEFT JOIN
     boetes b
     ON s.spelersnr = b.spelersnr
WHERE b.bedrag < 75 OR b.bedrag IS null
GROUP BY naam, voorletters, geboortedatum, b.spelersnr
ORDER BY b.spelersnr;

我无法理解为什么要这么做-当隐藏导致重复的列时,会产生重复的结果。

我猜你不想要这种逻辑,而是:

FROM spelers s LEFT JOIN
     boetes b
     ON s.spelersnr = b.spelersnr AND b.bedrag < 75 

这将返回spelers中的所有行,以及boetesb.bedrag < 75的匹配值。