|
Запрос заполняет столбцы ненужными данными
|
|||
---|---|---|---|
#18+
Всем привет! Мне нужно, чтобы запрос отобрал из столбца названиепродукта записи, в которых присутствует слово парфюм. попробовал сделать это: Код: sql 1. 2. 3.
как итог должно выйти: Код: sql 1. 2. 3. 4. 5. 6.
а выходит: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
и т.д. заполняет по количеству строк в таблице, к примеру, строк 100, а результатом запроса будет 300 записей, того вида, что был приведен выше. как можно решить эту проблему? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2022, 18:04 |
|
Запрос заполняет столбцы ненужными данными
|
|||
---|---|---|---|
#18+
У меня встречный запрос: самоучка, чтоли? Если нет - огласите имя альма-матер... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2022, 19:03 |
|
Запрос заполняет столбцы ненужными данными
|
|||
---|---|---|---|
#18+
crookedpencil, результат всегда будет помножен на количество магазинов. зачем-то вы их туда включили. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2022, 19:25 |
|
Запрос заполняет столбцы ненужными данными
|
|||
---|---|---|---|
#18+
ShIgor, здесь нет ничего, указывающее на количество магазинов, ведь он только один ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2022, 19:33 |
|
Запрос заполняет столбцы ненужными данными
|
|||
---|---|---|---|
#18+
ShIgor, суть в том, что мне нужно использовать две таблицы, чтобы отобразить производителей. Если убрать производителей и таблицу магазин, то все будет работать корректно ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2022, 19:37 |
|
Запрос заполняет столбцы ненужными данными
|
|||
---|---|---|---|
#18+
crookedpencil ShIgor, суть в том, что мне нужно использовать две таблицы, чтобы отобразить производителей. Если убрать производителей и таблицу магазин, то все будет работать корректно Не верю! (с) Станиславский ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2022, 20:26 |
|
Запрос заполняет столбцы ненужными данными
|
|||
---|---|---|---|
#18+
crookedpencil, ок. давайте смотреть правде в глаза что выдают Код: sql 1. 2. 3.
и Код: sql 1. 2.
обратите внимание, дистинкты убраны. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2022, 20:41 |
|
Запрос заполняет столбцы ненужными данными
|
|||
---|---|---|---|
#18+
И не пробовали сделать Код: sql 1. 2. 3.
? попробуйте для начала ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2022, 21:03 |
|
Запрос заполняет столбцы ненужными данными
|
|||
---|---|---|---|
#18+
всем спасибо, проблема была в отсутствии связи между таблицами, поставил inner join и все работает верно ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2022, 21:11 |
|
Запрос заполняет столбцы ненужными данными
|
|||
---|---|---|---|
#18+
Смотрим таблицу " а выходит " и посмотрим на продукт №3: Код: plaintext 1. 2. 3. 4. 5. 6.
Т.е. продукт №3 - это детский парфюм и его производят avon, moriki doriki, chanel и montale. Условие отбора данных: Код: sql 1.
, т.е. должны быть выбраны товары в названии которых есть подстрока "парфюм" ВСЕХ производителей. Теперь смотрим таблицу " как итог должно выйти ". В ней есть только одна строка для продукта №3: Код: plaintext 1. 2. 3.
Куда в этой таблице делись продукты №3 производителей avon, chanel и montale? Так что дело совсем не в магазинах. " проблема была в отсутствии связи между таблицами " - это правда. " поставил inner join и все работает верно " - это НЕправда, потому что "dbo.Ассортимент, dbo.Магазин" ничем не отличается от "dbo.Ассортимент inner join dbo.Магазин", поскольку и то, и другое является внутренним соединением (inner join). Проблема в условиях соединения таблиц и в условии отбора данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2022, 23:43 |
|
Запрос заполняет столбцы ненужными данными
|
|||
---|---|---|---|
#18+
Wlr-l, то что ТС что-то недоговаривает и так понятно а Вы ошиблись.. если в магазине только 3 наименования ассортимента, а не весь, то при иннер как раз и будет 3 записи мы же не знаем как он соединил например наименование + производитель ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2022, 08:39 |
|
Запрос заполняет столбцы ненужными данными
|
|||
---|---|---|---|
#18+
" ТС что-то недоговаривает ". Потому, что с его точки зрения это "что-то" не важно. Нам гораздо важнее то, что он сказал. Это как "Дано" в задаче. В чем я ошибся? Итак, дано: запрос и две таблицы "как итог должно выйти" и "а выходит". Последняя таблица есть результат данного запроса. Разберем запрос: Код: sql 1. 2. 3.
Из него следует, что: 1. В таблице Ассортимент есть как минимум три поля: "кодпродукта", "названиепродукта" и "производитель"; 2. В таблице Магазин есть как минимум поле "названиепродукта"; 3. Таблицы Ассортимент и Магазин между собой не связаны; 4. Строки отбираются по значению поля "названиепродукта" из таблицы Ассортимент; 5. В разделе select поля "кодпродукта" и "производитель" берутся из таблицы Ассортимент, а поле "названиепродукта" берется из таблицы Магазин. Следовательно, для каждого набора (кодпродукта, производитель) из таблицы Ассортимент будет поставлено в соответствие каждое значение столбца "названиепродукта" из таблицы Магазин. Из таблицы "а выходит" следует, что в таблице Ассортимент хранятся такие данные: Код: plaintext 1. 2. 3. 4. 5. 6.
Если в столбце "названиепродукта" из таблицы Магазин хранятся три значения "детский парфюм", "женский парфюм" и "мужской парфюм", то приведенный ТС запрос вернет Код: plaintext 1. 2. 3. 4. 5. 6.
Получили противоречие с таблицей "а выходит": Код: plaintext 1. 2. 3. 4. 5. 6. 7.
Поэтому я утверждаю, что проблема не в магазинах и не в их количестве. Вы же утверждаете, что проблема в количестве магазинов ( 22421890 , 22421991 ). Так же я утверждаю, что замена одной формы записи соединения таблиц (,) на другую (inner join) НЕ решит задачу. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2022, 23:34 |
|
|
Start [/forum/topic.php?fid=46&tid=1683917&gotonew=1]: |
0ms |
get settings: |
1ms |
get forum list: |
7ms |
check forum access: |
0ms |
check topic access: |
0ms |
track hit: |
32ms |
get topic data: |
5ms |
get first new msg: |
1ms |
get forum data: |
1ms |
get page messages: |
21ms |
update_topic_read_status (1683917): 17.01.2022 23:34:43: |
0ms |
get tp. blocked users: |
0ms |
get online users: |
41ms |
check new: |
1ms |
others: | 85ms |
total: | 195ms |
0 / 0 |