仅在列存在时选择列

时间:2017-02-02 16:56:17

标签: mysql sql

即使我不知道它们是否存在于特定的表中,我如何选择列?

类似于:

SELECT if_exists(col1, col2), col3
FROM tab1;

结果只是tab1中真正存在的列的内容。

背景:我想用PHP进行动态查询,其中表将动态插入。大多数表具有相同的结构(相同的列名),但其中一些具有略微不同的列名。由于某些原因,更改名称不是一种选择。

1 个答案:

答案 0 :(得分:0)

试试这个:

SELECT IF (EXISTS
    (SELECT 1
    FROM   information_schema.columns
    WHERE  table_name = 'my_table'
          AND column_name = 'col1')
,
    col1 , col2), col3   FROM   tab1