|
Как сделать поле уникальным?
|
|||
---|---|---|---|
#18+
Я немного продублирую свой вопрос Есть таблица categories . Есть таблица products . Столбец detail_name . Так же имеется соединительная таблица product_category_assigns . Столбцы product_id и product_category_id . Нужно вытягивать только по одному товару из каждой категории. Я делаю: Код: sql 1.
Итог: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Нужно получить 2 товара, грубо говоря: Код: plsql 1. 2. 3. 4. 5. 6.
Т.е. DISTINCT сделать на product_category_id , но в итоговой таблице должны быть только product_id . Код: plsql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2017, 16:03 |
|
Как сделать поле уникальным?
|
|||
---|---|---|---|
#18+
mikeoleynik, Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2017, 17:27 |
|
Как сделать поле уникальным?
|
|||
---|---|---|---|
#18+
mikeoleynik Я делаю: Код: sql 1.
Итог: product_id | product_category_id 796401 | 831 796402 | 831 796403 | 831 801168 | 921 801170 | 921 801169 | 921 796404 | 831 Как минимум лукавите: в Запросе: 1 колонка product_category_assigns.product_id, в Итоге: 2 колонки product_id, product_category_id ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2017, 18:18 |
|
Как сделать поле уникальным?
|
|||
---|---|---|---|
#18+
fte, Вы просто не умет читать. Сличите посимвольно то что Вам предложили и то что написано у Вас. Разница принципиальная. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2017, 18:28 |
|
Как сделать поле уникальным?
|
|||
---|---|---|---|
#18+
ursidofte, Вы просто не умет читать. Сличите посимвольно то что Вам предложили и то что написано у Вас. Разница принципиальная. я тоже не умею читать возможно, в консерватории что-то не так ? не ? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2017, 19:43 |
|
Как сделать поле уникальным?
|
|||
---|---|---|---|
#18+
2ТС есть много способов. вариативно от наличия индексов и т.п. что--то в таком духе можно, когда данных мало: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2017, 20:01 |
|
Как сделать поле уникальным?
|
|||
---|---|---|---|
#18+
Да, я ошибся указав в таблице и product_id, и product_category_id. Судя по запросу там действительно должны быть только product_id. Но ошибка только в этом, ведь product_id все равно подразумевает product_category_id. И вот как раз это поле нужно сделать уникальным. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2017, 20:39 |
|
Как сделать поле уникальным?
|
|||
---|---|---|---|
#18+
Получился такой запрос: Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2017, 23:00 |
|
Как сделать поле уникальным?
|
|||
---|---|---|---|
#18+
qwwqя тоже не умею читать Товарищ в очередной раз не заметил разницы между DISTINCT и DISTINCT ON ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 09:48 |
|
Как сделать поле уникальным?
|
|||
---|---|---|---|
#18+
ursido, вы отвечали т-щу fte , а "не заметил", если я верно вас понимаю -- т-щ ТС (mikeoleynik Member) судя по его (ТС) вопросу, он не разобрался ни в одном из предложенных ранее способов. и продолжает считать, что сложность выполнения запроса строго пропорциональна длине его (запроса) записи. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 10:04 |
|
Как сделать поле уникальным?
|
|||
---|---|---|---|
#18+
qwwqи продолжает считать, что сложность выполнения запроса строго пропорциональна длине его (запроса) записи. осталось только оптимизировать запрос: сократить длину записи) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 10:23 |
|
Как сделать поле уникальным?
|
|||
---|---|---|---|
#18+
qwwq, Да, действительно. Нужно внимательно читать весь пост. Я действительно ошибся. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 12:21 |
|
Как сделать поле уникальным?
|
|||
---|---|---|---|
#18+
Всем, спасибо) Я пока не настолько владею sql чтобы использовать ранки и партишены, как из статьи http://akorotkov.github.io/blog/2016/06/17/faceted-search. Результат будет в разы быстрее? И с lateral у меня тоже есть сложности. А что в моем запросе не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 13:13 |
|
Как сделать поле уникальным?
|
|||
---|---|---|---|
#18+
mikeoleynik, не разбрасывайтесь сделайте что--то одно если в процессе что--то конкретно не понятно или не получилось -- пишите кейс полностью, с полными текстами ошибок, если есть, полными кодами запросов и т.п. с тем, что конкретно не понятно, а то какие--то дамские посиделки с полунамёками получаются ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 13:51 |
|
Как сделать поле уникальным?
|
|||
---|---|---|---|
#18+
Запрос на данный момент: Код: sql 1. 2. 3. 4. 5.
вопрос: Как можно оптимизировать запрос? отрабатывает за полсекунды, думаю это многовато. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 14:09 |
|
Как сделать поле уникальным?
|
|||
---|---|---|---|
#18+
mikeoleynik, покажите план запроса ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 14:14 |
|
Как сделать поле уникальным?
|
|||
---|---|---|---|
#18+
mikeoleynikЗапрос на данный момент: Код: sql 1. 2. 3. 4. 5. 6.
вопрос: Как можно оптимизировать запрос? отрабатывает за полсекунды, думаю это многовато. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 14:16 |
|
Как сделать поле уникальным?
|
|||
---|---|---|---|
#18+
qwwq, В таблице categories есть boolean значение, если true то категория включена. Я делаю выборку из таких категорий. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 14:36 |
|
Как сделать поле уникальным?
|
|||
---|---|---|---|
#18+
qwwq, Индексы есть на product_id и product_category_id ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 15:02 |
|
Как сделать поле уникальным?
|
|||
---|---|---|---|
#18+
mikeoleynikqwwq, В таблице categories есть boolean значение, если true то категория включена. Я делаю выборку из таких категорий.и? -- у вас не хватает условия в соединении наверное вот такого? Код: sql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 19:03 |
|
|
start [/forum/topic.php?fid=53&fpage=75&tid=1996583]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 319ms |
total: | 484ms |
0 / 0 |