首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不想获取单个列(名称)

不想获取单个列(名称)
EN

Stack Overflow用户
提问于 2022-03-04 08:05:47
回答 2查看 55关注 0票数 0
代码语言:javascript
复制
def fetchProposalByStudio(studioId: Int): List[ProposalDetails] = {
ConnectionPoolManager.getDB(config = appConfig).localTx { implicit session: DBSession =>

  logger.info("Querying proposal table to fetch all the proposals")
  SQL("""SELECT [except name] p.id, id, proposal_title, challenge, possible_solution, explanation,
        |  submission_date, status, submitted_by, remark
        | FROM proposal p inner join knolder k on k.id = p.knolder_id
        | where k.studio_id =? order by p.id desc""".stripMargin)
    .bind(studioId)
    .map(rs =>
      ProposalDetails(
        rs.int("id"),
        rs.int("id"),
        rs.string("proposal_title"),
        rs.string("challenge"),
        rs.string("possible_solution"),
        rs.string("explanation"),
        rs.string("submission_date"),
        Some(ProposalStatus.withName(rs.string("status"))),
        rs.string("submitted_by"),
        rs.string("remark"),
        **rs.string("name")**
      )
    )
    .list().apply()
}

}

我不想在我的查询中获取这个列名,但是没有在查询中包含这个列名,我会因为使用case类而得到这个错误。

13:28:24.446默认-akka.actor.Default-dispatcher-8 INFO c.k.l.b.ProposalImpl -在获取提案时出了问题。异常消息:错误:"[“位置:8”处或附近的语法错误

EN

回答 2

Stack Overflow用户

发布于 2022-03-04 13:16:21

有语法问题的味道..。也许:

代码语言:javascript
复制
SELECT [except name]  -- should be 
SELECT `except name` -- in mysql
票数 0
EN

Stack Overflow用户

发布于 2022-03-04 13:30:32

如果不希望SQL结果集中有特定列,则只需在SELECT中不提及它。

没有SELECT * EXCEPT FirstName FROM person的概念--如果Person有FirstName, LastName, Age, Address而您不想要FirstName,则不要将它放在选择列表中:

代码语言:javascript
复制
SELECT LastName, Age, Address FROM Person

   ^^^^^^^
  no FirstName mentioned here

提到你想要的每一列,不要提到你不想要的任何一栏。

如果投诉是“但有527个专栏,我只想要一个”--你可以这样做:

代码语言:javascript
复制
SELECT CONCAT(column_name, ',') FROM information_schema.columns WHERE table_name = 'Person' and column_name <> 'FirstName'

它产生的结果集如下:

代码语言:javascript
复制
LastName,
Age,
Address,
... 523 other columns

然后您可以复制结果集并将其粘贴到您的代码中,它的末尾已经有逗号了。

如果希望所有列都放在一行上,请使用GROUP_CONCAT或使用体面的文本编辑器将\r\n替换为空。如果你想用后排包围列名,把它放在凹.这里的最后一点是,您是一个软件开发人员:您可以编写编写代码的代码,然后可以复制输出,这是有效的代码,并将其粘贴到其他代码中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71348279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档