2012-03-27 3 views
0

У меня есть этот SQL-запрос:как добавить больше colums в MySQL Query

SELECT DISTINCT tb.SERIAL_NUM, tb.REVISION_NUM, tb.JOB_NUM, tb.JOB_TOTAL, tb.TEST_PROC, tb.BOX_NUM, tb.TEST_BENCH, tb.OPERATOR, tb.SW_REVISION, tb.TEST_DATE, tb.VISUAL_INSP, tb.TEST, tb.STATUS FROM tb 
WHERE tb.SERIAL_NUM>=%s 
AND tb.SERIAL_NUM <=%s 
AND tb.TEST = 'Pass' GROUP BY tb.SERIAL_NUM 

Это работает нормально, но в моей таблице есть более 200 столбцов, я хотел бы добавить к этому запросу, как:

SELECT DISTINCT tb.SERIAL_NUM, tb.REVISION_NUM, tb.JOB_NUM, tb.JOB_TOTAL, tb.TEST_PROC, tb.BOX_NUM, tb.TEST_BENCH, tb.OPERATOR, tb.SW_REVISION, tb.TEST_DATE, tb.VISUAL_INSP, tb.TEST, tb.STATUS, column15.....,column215 FROM tb 
WHERE tb.SERIAL_NUM>=%s AND tb.SERIAL_NUM <=%s AND tb.TEST = 'Pass' GROUP BY tb.SERIAL_NUM 

Есть ли простой способ добавить эти столбцы в запрос?

ответ

2

почему бы вам не использовать выберите * как этот

SELECT DISTINCT * FROM <table> WHERE <whereClause> 
+0

@BayoAlen отчетливый должны работать с *. отредактировал ответ, чтобы подумать, что –

+0

спасибо, что он работает –

1

Вот другой способ, чтобы получить все поля. затем скопируйте и вставьте в свой запрос ... схемы/системные таблицы действительно мощные.

SELECT Group_concat(COLUMN_NAME Separator ', ') as allTableFields 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE table_name = 'tb' 
Group By table_name 

Что это делает (или должен делать), это получить список всех полей из столбцов в базе данных для таблицы Тб. он затем группирует их вместе с запятой, а затем в качестве разделителей. Таким образом, результаты должны быть чем-то вроде

field1, field2, field3, Field4, Field5, field6 ... field215

Смежные вопросы