【问题标题】:Using If else in SQL Select Query在 SQL 选择查询中使用 If else
【发布时间】:2021-05-01 10:15:14
【问题描述】:

我需要知道是否可以将 IF 插入到 SQL 查询中。

如果列的值为 X,则与表进行 JOIN,但如果为 Y,则与另一个表进行 JOIN。

就像: 从表 1 中选择 * 如果 (Table1.value = 1) 则加入 Table2 否则加入表3

这个可以吗?

【问题讨论】:

标签: mysql sql database mysql-workbench


【解决方案1】:

您将使用left join。像这样的:

select . . .
from t1 left join
     t2
     on t1.column = 'X' and <other conditions> left join
     t3
     on t1.column = 'Y' and <other conditions>
where t1.column in ('X', 'Y')

【讨论】:

  • ``` select cargaid, cargaartartic,articcodigo, articdescripcion, lprecioimporte, cargaart1provc, provdescripcion from MCARGAARTICULO JOIN articulos on cargaartic = articcodigo JOIN proofedor on cargaart1provc = provcodigo JOIN listaprecip on cargaartic = lprecioartcod and carga cargaid = :carga ``` 但是如果 MCARGAARTICULO.VALUE ==99 它不应该加入 listaprecio,它应该加入 ArtList...我该怎么做?
  • @JoseZarate 。 . .这回答了这里提出的问题,这个问题很笼统。如果您有更多详细信息并且无法应用一般性答案,我可能会建议您提出一个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 2013-05-22
  • 2017-07-22
  • 1970-01-01
相关资源
最近更新 更多