Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Рассказать чайнику про SQL


fokuz00

Recommended Posts

Здравствуйте! Пытаюсь разобраться, есть запрос:

sql = "SELECT o.order_id, CONCAT(o.firstname, ' ', o.lastname) AS customer, (SELECT os.name FROM " . DB_PREFIX . "order_status os WHERE os.order_status_id = o.order_status_id AND os.language_id = '" . (int)$this->config->get('config_language_id') . "') AS order_status, o.shipping_code, o.total, o.shipping_method, o.currency_code, o.currency_value, o.date_added, o.date_modified FROM `" . DB_PREFIX . "order` o";

 

SELECT o.order_id, Почему o.order_id а не просто order_id ?

Откуда берется этот o. ?

или вот тут? os.name

Что за os. ?

Надіслати
Поділитися на інших сайтах


6 минут назад, fokuz00 сказал:

Здравствуйте! Пытаюсь разобраться, есть запрос:

sql = "SELECT o.order_id, CONCAT(o.firstname, ' ', o.lastname) AS customer, (SELECT os.name FROM " . DB_PREFIX . "order_status os WHERE os.order_status_id = o.order_status_id AND os.language_id = '" . (int)$this->config->get('config_language_id') . "') AS order_status, o.shipping_code, o.total, o.shipping_method, o.currency_code, o.currency_value, o.date_added, o.date_modified FROM `" . DB_PREFIX . "order` o";

 

SELECT o.order_id, Почему o.order_id а не просто order_id ?

Откуда берется этот o. ?

или вот тут? os.name

Что за os. ?

o. говорит об обращении к конкретной таблице DB_PREFIX . "order` o";

Надіслати
Поділитися на інших сайтах


Если в запросе есть префикс, обращайте внимание  . DB_PREFIX . "order_status os. В этом случае если желаете получить данные из конкретной таблицы, обращаться по os.

Надіслати
Поділитися на інших сайтах


1 час назад, fokuz00 сказал:

Откуда берется этот o. ?

o - сокращение таблицы, чтобы в дальнейшем не писать ее целиком " . DB_PREFIX . "order_status.order_id

os.name - соответственно от другой таблицы, так легче ориентироваться и быстрее написать/прочитать запрос.

Надіслати
Поділитися на інших сайтах

12 минут назад, smartcoder сказал:

o - сокращение таблицы, чтобы в дальнейшем не писать ее целиком " . DB_PREFIX . "order_status.order_id

Наверное вы хотели написать . DB_PREFIX . "order.order_id ?

В order_status нет order_id

Надіслати
Поділитися на інших сайтах


8 минут назад, fokuz00 сказал:

Наверное вы хотели написать . DB_PREFIX . "order.order_id ?

В order_status нет order_id

Да так, на таблицы не смотрел, суть думаю вы поняли.

Надіслати
Поділитися на інших сайтах

Все я вроде разобрался. 

Вот тут. DB_PREFIX . "order` o" Мы как бы даем понять, что можно таблицу order называть .o

А тут . DB_PREFIX . "order_status os  таблицу order_status можно сокращать до .os  Первые буквы из Order_Status. Правильно понял? 

 

Змінено користувачем fokuz00
Надіслати
Поділитися на інших сайтах


23 минуты назад, fokuz00 сказал:

Первые буквы из Order_Status. Правильно понял? 

да правильно, вы можете называть таблицы t1. и t2., как вам удобно.

Надіслати
Поділитися на інших сайтах

15 минут назад, fokuz00 сказал:

Спасибо что помогли разобраться, а то я уже замучил гугл, а ответа так и не смог найти. 

https://ru.wikipedia.org/wiki/Alias_(SQL) 

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.