Можно ли оставить оператор объяснения объединения в запросе MySQL? - PullRequest
0 голосов
/ 22 декабря 2011

Я бы хотел присоединиться к объяснению, как это. На самом деле необходимость извлечения типа данных столбца и столбца хранится в другой таблице с именем «wyspesific».

select 
st.segnam as Segment,
st.typnam as 'Sub-Segment',
group_concat(distinct ws.fldnam) as 'Field Tag Name (database)', 
group_concat(distinct ws.fldcap) as 'Field Name Label',
concat('(', group_concat(distinct of.optcap order by of.optcap desc ),')' ) as optionFieldLabel,
concat('(', group_concat(distinct of.optval order by of.optcap desc ),')' ) as optionFieldValue,
ws.isopt as isOptionField
from shiptype st
left join wyspecific ws on ws.wytypid = st.wytypid and ws.enabled = 'Y'
left join optionfields of on of.fldnam = ws.fldnam and of.deleted = 'N'
left join ( explain shipspecific ) as v on ws.fldnam = v.Field
where st.segid in(6,4,8,9,10,11,12 ) and ws.enabled = 'Y'
group by ws.fldid
order by st.segid

Любые предложения или идеи будут с благодарностью.

Большое спасибо.

1 Ответ

2 голосов
/ 22 декабря 2011

Вы должны получить эту информацию из INFORMATION_SCHEMA.COLUMNS вместо:

SELECT COLUMN_NAME, DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='shipspecific' AND TABLE_SCHEMA=DATABASE()
...