Size: a a a

SqlCom.ru - Стиль жизни SQL

2020 November 20

O

Oleg T in SqlCom.ru - Стиль жизни SQL
Povidlos
я не так глубоко в sql
есть видео или статейка под рукой ?
Если я верно понял задачу и интересует какие две категории товаров встречаются чаще всего в одном заказе, то на примере модельной БД WideWorldImporters задача решается так:
WITH CTE as (
select orl.OrderID, orl.StockItemID as cat1, orl2.StockItemID as cat2 from [Sales].[OrderLines] orl
JOIN [Sales].[OrderLines] orl2 on orl2.OrderID = orl.OrderID and orl2.StockItemID <> orl.StockItemID
)
SELECT cat1, cat2, count(*) as intersection_count
 FROM CTE
 GROUP BY cat1, cat2
ORDER BY count(*) DESC, cat1, cat2 ASC
Сразу скажу - запрос будет медленным и индексы не помогут, т.к. используется соединение по неравенству.
источник

O

Oleg T in SqlCom.ru - Стиль жизни SQL
Запрос примерный, там есть один косяк с лишними пересечениями, т.е. надо отсечь записи отличающиеся только порядком cat1 и cat2, но это легко
источник
2020 November 21

A

Art in SqlCom.ru - Стиль жизни SQL
Всем Салют! Вопрос по структуре и именованию. У меня есть таблица где у пользователя 4х значный код уникальный. Я хотел его сделать Первичным.
Вопрос в наименовании данного поля.
id или user или user_id будет правильнее?

Обьясню почему у меня сомнения.
id обычно называют первичные ключи с автоинкрементом. А тут они идут в разнобой. Грубо говоря это внутренний номер телефона или Код сотрудника.
user_id обычно так называют Фореин ключи которые ссылаются на id в таблице user.
user тоже не совсем понятно.
В общем во всех вариантах какая то путаница.

Или лучше добавить обычный id с автоинкрементом?)
источник

G

Gopneg in SqlCom.ru - Стиль жизни SQL
делать пк из натуральных ключей - к жопе
источник

G

Gopneg in SqlCom.ru - Стиль жизни SQL
я лично именую пк как idUser (для таблицы Users)
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
Art
Всем Салют! Вопрос по структуре и именованию. У меня есть таблица где у пользователя 4х значный код уникальный. Я хотел его сделать Первичным.
Вопрос в наименовании данного поля.
id или user или user_id будет правильнее?

Обьясню почему у меня сомнения.
id обычно называют первичные ключи с автоинкрементом. А тут они идут в разнобой. Грубо говоря это внутренний номер телефона или Код сотрудника.
user_id обычно так называют Фореин ключи которые ссылаются на id в таблице user.
user тоже не совсем понятно.
В общем во всех вариантах какая то путаница.

Или лучше добавить обычный id с автоинкрементом?)
А чё если сменит номер телефона?
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
Потеряет?
источник

A

Art in SqlCom.ru - Стиль жизни SQL
Андрій
А чё если сменит номер телефона?
Не там система такая что код привязывается к человеку пожизнено)
источник

A

Art in SqlCom.ru - Стиль жизни SQL
Gopneg
делать пк из натуральных ключей - к жопе
а что значит из натуральных ключей?
источник

G

Gopneg in SqlCom.ru - Стиль жизни SQL
Art
а что значит из натуральных ключей?
которые в реальной жизни существуют
источник

A

Art in SqlCom.ru - Стиль жизни SQL
Gopneg
которые в реальной жизни существуют
ну если они неизменны то почему бы и нет?
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
Art
Не там система такая что код привязывается к человеку пожизнено)
А если система сменится?
источник

A

Art in SqlCom.ru - Стиль жизни SQL
Андрій
А если система сменится?
максимум могут закончится 4х значные. будут 5 значные
источник

A

Art in SqlCom.ru - Стиль жизни SQL
По факту это тот же id
источник

A

Art in SqlCom.ru - Стиль жизни SQL
Даже если человек "умер" номер закреплен за ним как и говорил навсегда. по факту полный аналог обычного id
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
Art
максимум могут закончится 4х значные. будут 5 значные
Ну почему, решили что система устарела, завели новую, но отчётность хотят в твоей видеть.
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
И сопоставляя потом как хочешь
источник

A

Art in SqlCom.ru - Стиль жизни SQL
Хм не особо вижу проблемы. Что у тебя есть отдельный id что тут. При твоей ситуации однофигственно помоему
источник

G

Gopneg in SqlCom.ru - Стиль жизни SQL
Art
Даже если человек "умер" номер закреплен за ним как и говорил навсегда. по факту полный аналог обычного id
если у тебя есть четкая спецификация на то как эти номера работают - тогда можно
но и тогда не нужно
источник

A

Art in SqlCom.ru - Стиль жизни SQL
Ок спасибо, буду думать)
источник