#sql #sql-order-by #multiple-tables
#sql #sql-order-by #несколько таблиц
Вопрос:
У меня есть запрос с комбинацией двух таблиц и связан с идентификатором:
Первая таблица category
ID|code|parent
1 |cd01|0
2 |cd02|0
3 |cd03|0
и вторая таблица category_description
ID|name |lang_id
1 |cat01|1
1 |cat01|2
1 |cat01|3
2 |cat02|2
2 |cat02|3
3 |cat03|1
3 |cat03|2
и теперь есть экземпляр, в котором категория не имеет записи category_description
, lang_id = 1
поэтому, когда я перечисляю как grid, я использую code вместо name, и я хочу упорядочить по is, чтобы, когда name не задано, я использовал код.
| ID | Name |
------------------------
| 1 | cat01 - cd01 |
| 2 | cd02 |
| 3 | cat03 - cd03 |
Код:
SELECT c.code, cd.name
FROM category c, category_description cd
WHERE cd.ID = c.ID
GROUP BY cd.ID
ORDER BY
если cd.name не установлено использование c.code
Любая помощь очень ценится, заранее спасибо.
Комментарии:
1. Не могли бы вы показать свой запрос?
2. что такое lang_id? и какова логика вашего вывода? почему
cat01
id
на выходе отображается ( 1 ) два раза?3. Вредные привычки, от которых нужно отказаться: использование объединений в старом стиле — этот стиль списка таблиц, разделенных запятыми , в старом стиле был отменен стандартом SQL ANSI- 92 (более 20 лет назад)
4. ваш оператор sql не соответствует вашим выводам. Не следует выбирать «*»