Size: a a a

DBA - русскоговорящее сообщество

2021 April 15

A

A.K in DBA - русскоговорящее сообщество
сейчас попробую
источник

AS

Anatoly Shirokov in DBA - русскоговорящее сообщество
только "если" замени на то, что поддерживает твоя субд в плане вычисления условных выражений
источник

A

A.K in DBA - русскоговорящее сообщество
да, конечно
источник

A

A.K in DBA - русскоговорящее сообщество
такой вопрос, в mysql после всего inner join and left join, у меня создалась новая таблица, и я дополнительно добавила новый столбец. Теперь как обращаться к этому новому столбцу? Если я не назвала свою новую таблицу которая создала
источник

К

Какой-то Хмырь... in DBA - русскоговорящее сообщество
а как ты добавила столбец, не зная имени таблицы? О_о
источник

G

Garry in DBA - русскоговорящее сообщество
источник

A

A.K in DBA - русскоговорящее сообщество
case when column1 ....condition  END AS newcolumn
источник

A

A.K in DBA - русскоговорящее сообщество
до этого вызвала столбцы через имен своих старых таблиц, когда делала джойн, теперь у меня новая таблица и в ней новый столбец
источник

К

Какой-то Хмырь... in DBA - русскоговорящее сообщество
так это не таблица создана, а в результирующий набор добавлена колонка.

можно либо записать всё это дело в таблицу, дописав into newtablename в select, либо использовать твой запрос, как подзапрос

select t.col1, t.col2, t.col3, t.newcolumn from (
your_subquery
) t
источник

IZ

Ilia Zviagin in DBA - русскоговорящее сообщество
Алло, что за дежавю?
источник

IZ

Ilia Zviagin in DBA - русскоговорящее сообщество
Я же даже тебе уже регвыражение писал...
источник

A

A.K in DBA - русскоговорящее сообщество
SELECT cv.id,
         projects_customized.name_4 AS org,
         issues.subject,
         CASE
             WHEN cf.name LIKE '%(план)%' THEN 'План'
             WHEN cf.name LIKE '%(факт)%' THEN 'Факт'
         END AS attribute,
         cv.value
  FROM custom_values cv
  INNER JOIN custom_fields cf ON cv.custom_field_id = cf.id
  INNER JOIN issues ON cv.customized_id = issues.id
  LEFT JOIN
    (SELECT p1.id AS id_1,
            p1.name AS name_1,
            p2.name AS name_2,
            p3.name AS name_3,
            p4.name AS name_4
     FROM projects p1
     LEFT JOIN
       (SELECT id,
               parent_id,
               name
        FROM projects) p2 ON p1.parent_id = p2.id
     LEFT JOIN
       (SELECT id,
               parent_id,
               name
        FROM projects) p3 ON p2.parent_id = p3.id
     LEFT JOIN
       (SELECT id,
               parent_id,
               name
        FROM projects) p4 ON p3.parent_id = p4.id) projects_customized ON projects_customized.id_1 = issues.project_id
источник

A

A.K in DBA - русскоговорящее сообщество
слишком много JOIN 😁 Не могу обращаться к столбцу attribute...
источник

IZ

Ilia Zviagin in DBA - русскоговорящее сообщество
да норм. Немного
источник

IZ

Ilia Zviagin in DBA - русскоговорящее сообщество
LEFT JOIN
       (SELECT id,
               parent_id,
               name
        FROM projects)

Нафига подзапрос пустой писать в JOIN?


Просто

LEFT JOIN projects пиши.
источник

A

A.K in DBA - русскоговорящее сообщество
а к attribute как обращаться ?
источник

IZ

Ilia Zviagin in DBA - русскоговорящее сообщество
алиас.поле
источник

IZ

Ilia Zviagin in DBA - русскоговорящее сообщество
Или это про что вообще?
источник

A

A.K in DBA - русскоговорящее сообщество
первый CASE WHEN END AS attrinute
источник

IZ

Ilia Zviagin in DBA - русскоговорящее сообщество
Это ?

CASE
             WHEN cf.name LIKE '%(план)%' THEN 'План'
             WHEN cf.name LIKE '%(факт)%' THEN 'Факт'
         END AS attribute,


Это поле в списке вывода, к нему в запросе никак нельзя обращаться.
источник