|
А можно в WHERE делать запросы?
|
|||
---|---|---|---|
#18+
Не всегда известны все ограничения для вывода данных и чтобы их узнать хочется сделать запрос к другой таблице, вернее к двум связанным таблицам. Таких ограничений нужно наложить несколько, поэтому Join не подойдет. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2021, 23:51 |
|
А можно в WHERE делать запросы?
|
|||
---|---|---|---|
#18+
подзапросы можно ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2021, 00:16 |
|
А можно в WHERE делать запросы?
|
|||
---|---|---|---|
#18+
Cola Таких ограничений нужно наложить несколько, поэтому Join не подойдет. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2021, 07:44 |
|
А можно в WHERE делать запросы?
|
|||
---|---|---|---|
#18+
court Cola Таких ограничений нужно наложить несколько, поэтому Join не подойдет. Поясню... дело в том что есть 16 приджоининых таблиц к основной таблице. По сути основная таблица это список указателей на записи в других таблицах, иногда данные добываются через два джоина (указатель на таблицу в которой тоже есть указатель уже на конкретные данные, которые надо отобразить). Проблема в том. что есть еще набор таблиц, в которых описаны доступы к данным и это не одна таблица. По этой причине джоины тут не подойдут. А вот через Where решить наверное можно. И мой вопрос как это можно сделать - нужен простой пример или ссылка на доку, поскольку я сама не нашла инфу. Надеюсь мне удалось объяснить. За ранее благодарна. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2021, 10:50 |
|
А можно в WHERE делать запросы?
|
|||
---|---|---|---|
#18+
бабушкин зайчик подзапросы можно Подзапросы в Where или в Select? Нужно именно в Where. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2021, 10:51 |
|
А можно в WHERE делать запросы?
|
|||
---|---|---|---|
#18+
Cola court пропущено... у бабушки дальнозоркость +5, поэтому сегодня будет дождь Поясню... дело в том что есть 16 приджоининых таблиц к основной таблице. По сути основная таблица это список указателей на записи в других таблицах, иногда данные добываются через два джоина (указатель на таблицу в которой тоже есть указатель уже на конкретные данные, которые надо отобразить). Проблема в том. что есть еще набор таблиц, в которых описаны доступы к данным и это не одна таблица. По этой причине джоины тут не подойдут. А вот через Where решить наверное можно. И мой вопрос как это можно сделать - нужен простой пример или ссылка на доку, поскольку я сама не нашла инфу. Надеюсь мне удалось объяснить. За ранее благодарна. Не удалось... приведите пример логики требуемой на каком то простом примере чего бы вам хотелось получить. На sql и в тех местах где sql не можете придумать - на русском языке. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2021, 12:52 |
|
А можно в WHERE делать запросы?
|
|||
---|---|---|---|
#18+
Cola Нужно именно в Where Код: sql 1.
Код: sql 1.
есть ещё all и any, но, думаю, они тебя не заинтересуют в конце-концов, и так можно Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2021, 12:54 |
|
А можно в WHERE делать запросы?
|
|||
---|---|---|---|
#18+
держу пари что джоины прекрасно подойдут. И мало того тоолько они и подойдут, ибо запихать в where подзапрос на 16 таблиц - это убийство базы, оптимизатора, перформанса, логики, глаз коллег и всего прочего ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2021, 12:05 |
|
А можно в WHERE делать запросы?
|
|||
---|---|---|---|
#18+
если там под-под-таблицы, например: клиент->договор->акт то будут дубли клиентов, если 2 договора ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2021, 13:04 |
|
А можно в WHERE делать запросы?
|
|||
---|---|---|---|
#18+
Звучит как работа для LEFT JOIN Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Table1 - содержит какой то ID Table2, Table3, Table4 - максимум одна из таблиц содержит данные, связанные с каждым отдельно взятым ID из таблицы Table1. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2021, 13:48 |
|
А можно в WHERE делать запросы?
|
|||
---|---|---|---|
#18+
Cola Не всегда известны все ограничения для вывода данных и чтобы их узнать хочется сделать запрос к другой таблице, вернее к двум связанным таблицам. Таких ограничений нужно наложить несколько, поэтому Join не подойдет. Я настоятельно рекомендую начать с чтения учебника по SQL. Да я знаю что не модно... но без этого никак. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2021, 14:43 |
|
А можно в WHERE делать запросы?
|
|||
---|---|---|---|
#18+
Агрох Table2, Table3, Table4 - максимум одна из таблиц содержит данные, связанные с каждым отдельно взятым ID из таблицы Table1. t4 связана только с t3 t3 только с t2 а вот t2 уже с t1 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2021, 16:36 |
|
А можно в WHERE делать запросы?
|
|||
---|---|---|---|
#18+
бабушкин зайчик Агрох Table2, Table3, Table4 - максимум одна из таблиц содержит данные, связанные с каждым отдельно взятым ID из таблицы Table1. t4 связана только с t3 t3 только с t2 а вот t2 уже с t1 В моём примере - нет. У ТС есть более сложное описание, но мой пример легко расширить до нужной вложенности: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
И да, это просто пример без привязки к реальной структуре, т.к. ТС её нам не дал. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2021, 17:10 |
|
А можно в WHERE делать запросы?
|
|||
---|---|---|---|
#18+
что за 2_1, 3_1? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2021, 18:27 |
|
А можно в WHERE делать запросы?
|
|||
---|---|---|---|
#18+
Cola поэтому Join не подойдет Cola По этой причине джоины тут не подойдут Вместо того, чтобы внятно объяснить, что вам нужно и привести схему вашей БД и текст запроса, вы начали поучать участников форума , многие из которых собаку съели на SQL-запросах, и рассказывать им всякие занятные и увлекательные истории о том, что "джоины здесь не подойдут". ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2021, 13:27 |
|
А можно в WHERE делать запросы?
|
|||
---|---|---|---|
#18+
Cola Не всегда известны все ограничения для вывода данных и чтобы их узнать хочется сделать запрос к другой таблице, вернее к двум связанным таблицам. Таких ограничений нужно наложить несколько, поэтому Join не подойдет. Используй pgSQL - любые самые извращенные запросы можно сделать от 5 минут. В общем - средство на все случаи жизни. От 3 и более соединений время теряется не сильно, относительного того же SQL запроса (ну кроме разве что самых примитивных запросов с объединением полей из 3-х таблиц). Почему то все напрочь забывают о pgSQL, даже на собеседованиях по PostgreSQL о нем не спрашивают, только голимые SQL запросы ( с 4-х этажными изворотами). . ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2021, 14:08 |
|
А можно в WHERE делать запросы?
|
|||
---|---|---|---|
#18+
О-О-О Cola Не всегда известны все ограничения для вывода данных и чтобы их узнать хочется сделать запрос к другой таблице, вернее к двум связанным таблицам. Таких ограничений нужно наложить несколько, поэтому Join не подойдет. Используй pgSQL - любые самые извращенные запросы можно сделать от 5 минут. В общем - средство на все случаи жизни. От 3 и более соединений время теряется не сильно, относительного того же SQL запроса (ну кроме разве что самых примитивных запросов с объединением полей из 3-х таблиц). Почему то все напрочь забывают о pgSQL, даже на собеседованиях по PostgreSQL о нем не спрашивают, только голимые SQL запросы ( с 4-х этажными изворотами). . Очень интересно что вы имеет в виду? -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2021, 16:13 |
|
|
start [/forum/topic.php?fid=53&msg=40071044&tid=1994032]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 258ms |
total: | 384ms |
0 / 0 |