powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка значений из одной таблицы на основании данных из другой
18 сообщений из 18, страница 1 из 1
Выборка значений из одной таблицы на основании данных из другой
    #38735849
ShutTap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Есть две таблицы, Т1 и Т2
параметры у них Т1-ID, Т1-ID2... и Т2-ID, Т2-ИМЯ... и тд
Можно ли одним запросом получить такие данные:
чтобы получать из первой таблицы все поля в строке, но с заменой ID2 на имя этого поля, взятое из второй таблицы?
(типа ID2=ID)
...
Рейтинг: 0 / 0
Выборка значений из одной таблицы на основании данных из другой
    #38735853
ShutTap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
(Т1-ID2=T2-ID)
...
Рейтинг: 0 / 0
Выборка значений из одной таблицы на основании данных из другой
    #38735879
ShutTap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
что, здесь редактировать никак нельзя?
все поля из ОПРЕДЕЛЕННОЙ строки.
то есть, не совсем понял, как совместить условие для JOIN, что T1.ID2=T2.ID и условие выбора строки из первой таблицы, допустим, что T1.ID=3...

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
"SELECT 
T1.id as id,
T2.name as name
FROM T1 JOIN T2
ON T1.id2=T2.id
WHERE T1.id=3
ORDER BY T1.id ASC
"


как-то не фурычит... подскажите пожалуйста?
...
Рейтинг: 0 / 0
Выборка значений из одной таблицы на основании данных из другой
    #38735898
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShutTapкак-то не фурычита что именно "не фурычит"? с виду всё правильно.
...
Рейтинг: 0 / 0
Выборка значений из одной таблицы на основании данных из другой
    #38735986
ShutTap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не заменяет. он ищет где такое есть совпадение, а поля не заменяет.
а еще следующий шаг мне надо сделать несколько замен, как там быть? при том, что разные поля в первой таблице сравниваются с одним и тем же во второй.
т.е. в первой поля id2, id3, id4 допустим, а имена все во второй в name, по id просто в разных строках содержаться
то есть, замениться id2 должен на name, где T1.id2=T2.id
то есть, замениться id3 должен на name, где T1.id3=T2.id
то есть, замениться id4 должен на name, где T1.id4=T2.id
как в этом случае поступить? не понимаю..
...
Рейтинг: 0 / 0
Выборка значений из одной таблицы на основании данных из другой
    #38736000
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShutTapон ищет где такое есть совпадение, а поля не заменяетЧто значит "не заменяет"? Вот у себя проверил:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
create table t1(id int, id2 int);
create table t2(id int, name varchar(50));
insert into t1 values (3,1);
insert into t2 values (1,'qweasd');
SELECT 
T1.id as id,
T2.name as name
FROM T1 JOIN T2
ON T1.id2=T2.id
WHERE T1.id=3
ORDER BY T1.id ASC;
результат:idname3qweasdВсё как надо "заменяет".
...
Рейтинг: 0 / 0
Выборка значений из одной таблицы на основании данных из другой
    #38736252
ShutTap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да, работает, действительно, одну кавычку пропустил. а как с этим быть:
ShutTapа еще следующий шаг мне надо сделать несколько замен, как там быть? при том, что разные поля в первой таблице сравниваются с одним и тем же во второй.
т.е. в первой поля id2, id3, id4 допустим, а имена все во второй в name, по id просто в разных строках содержаться
то есть, замениться id2 должен на name, где T1.id2=T2.id
то есть, замениться id3 должен на name, где T1.id3=T2.id
то есть, замениться id4 должен на name, где T1.id4=T2.id
как в этом случае поступить? не понимаю..
??
...
Рейтинг: 0 / 0
Выборка значений из одной таблицы на основании данных из другой
    #38736500
ShutTap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как брать разные значения из одного и того же столбца другой таблицы, только разных строк?
общая суть, что нужно вывести все поля из таблицы, в которой часть столбцов - id из другой таблицы, при чем несколько столбцов ссылаются на разные id но из одного столбца как бы. нужно вывести с заменой по этим самым id.
для случая, когда замена только одна, или много но из разных столбцов - вопросов нет. а как из одного столбца но разных строк - вопрос..
...
Рейтинг: 0 / 0
Выборка значений из одной таблицы на основании данных из другой
    #38736982
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если исходить из
ShutTapто есть, замениться id2 должен на name, где T1.id2=T2.id
то есть, замениться id3 должен на name, где T1.id3=T2.id
то есть, замениться id4 должен на name, где T1.id4=T2.id, то
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT 
T1.id as id,
T2.name as name
FROM T1 
JOIN T2 q2 ON T1.id2=q2.id
JOIN T2 q3 ON T1.id3=q3.id
<...>
JOIN T2 qN ON T1.idN=qN.id
WHERE T1.id=3
ORDER BY T1.id ASC;

Это, естественно, в предположении, что ид в таблице 2 уникальны.

Если я не угадал, чего вы хотите, то показывайте по 2-3 исходных записи из каждой таблицы и какой должен быть результат, а то ваше объяснение "на словах" какое-то мутноватое.
...
Рейтинг: 0 / 0
Выборка значений из одной таблицы на основании данных из другой
    #38737035
ShutTap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет нет, вы все правильно поняли. Спасибо!
qN это как бы копия таблицы? а можно как-то сделать так, чтобы не вручную прописывать JOIN T2 q3 ON T1.id3=q3.id, т.к. заранее не инзвестно количество столбцов? что-то вроде шаблона...
Пока это то, что нужно, и запросы JOIN T2 qN ON T1.idN=qN.id заношу циклом...
...
Рейтинг: 0 / 0
Выборка значений из одной таблицы на основании данных из другой
    #38737040
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShutTapа можно как-то сделать так, чтобы не вручную прописывать JOIN T2 q3 ON T1.id3=q3.id, т.к. заранее не инзвестно количество столбцов? что-то вроде шаблонанет
судя по постановке задачи, вам стоит пересмотреть структуру вашей БД
...
Рейтинг: 0 / 0
Выборка значений из одной таблицы на основании данных из другой
    #38737062
ShutTap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
к сожалению это БД JoomShopping

вот такой запрос формируется, визуально вроде все норм, но выдает ошибку синтаксиса
Код: php
1.
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''product_attr_id' AS 'product_attr_id', `jona_jshopping_products_attr`.'product_' at line 2



Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
SELECT 
`jona_jshopping_products_attr`.'product_attr_id' AS 'product_attr_id',
`jona_jshopping_products_attr`.'product_id' AS 'product_id', 
`jona_jshopping_products_attr`.'buy_price' AS 'buy_price', 
`jona_jshopping_products_attr`.'price' AS 'price', 
`jona_jshopping_products_attr`.'old_price' AS 'old_price', 
`jona_jshopping_products_attr`.'count' AS 'count', 
`jona_jshopping_products_attr`.'ean' AS 'ean', 
`jona_jshopping_products_attr`.'weight' AS 'weight', 
`jona_jshopping_products_attr`.'weight_volume_units' AS 'weight_volume_units', 
`jona_jshopping_products_attr`.'ext_attribute_product_id' AS 'ext_attribute_product_id', 
`jona_jshopping_attr_values`.'name_ru-RU' AS 'name' 
FROM `jona_jshopping_products_attr` 
JOIN `jona_jshopping_attr_values` q3 ON `jona_jshopping_products_attr`.attr_3=q3.value_id 
JOIN `jona_jshopping_attr_values` q4 ON `jona_jshopping_products_attr`.attr_4=q4.value_id 
WHERE `jona_jshopping_products_attr`.product_id='1' 
ORDER BY `jona_jshopping_products_attr`.attr_order ASC
...
Рейтинг: 0 / 0
Выборка значений из одной таблицы на основании данных из другой
    #38737176
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShutTap,

даже по раскраске синтаксиса на форуме видно, что кавычки не те.
...
Рейтинг: 0 / 0
Выборка значений из одной таблицы на основании данных из другой
    #38737234
ShutTap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я хз, что значит раскраска)
а какие нужны? всегда писал такие, раньше работало...
...
Рейтинг: 0 / 0
Выборка значений из одной таблицы на основании данных из другой
    #38737256
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShutTapя хз, что значит раскраска)а глазами посмотреть на свой же пост с кодом (и головой при этом подумать) не пробовали?
ShutTapвсегда писал такие, раньше работалораньше были не такие, "'" и "`" просто очень похожи на вид
...
Рейтинг: 0 / 0
Выборка значений из одной таблицы на основании данных из другой
    #38737287
ShutTap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
прошу прощения...
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
SELECT 
`jona_jshopping_products_attr`.`product_attr_id` AS 'product_attr_id',
`jona_jshopping_products_attr`.`product_id` AS 'product_id', 
`jona_jshopping_products_attr`.`buy_price` AS 'buy_price', 
`jona_jshopping_products_attr`.`price` AS 'price', 
`jona_jshopping_products_attr`.`old_price` AS 'old_price', 
`jona_jshopping_products_attr`.`count` AS 'count', 
`jona_jshopping_products_attr`.`ean` AS 'ean', 
`jona_jshopping_products_attr`.`weight` AS 'weight', 
`jona_jshopping_products_attr`.`weight_volume_units` AS 'weight_volume_units', 
`jona_jshopping_products_attr`.`ext_attribute_product_id` AS 'ext_attribute_product_id', 
`jona_jshopping_attr_values`.`name_ru-RU` AS 'name' 
FROM `jona_jshopping_products_attr` 
JOIN `jona_jshopping_attr_values` q3 ON `jona_jshopping_products_attr`.attr_3=q3.value_id 
JOIN `jona_jshopping_attr_values` q4 ON `jona_jshopping_products_attr`.attr_4=q4.value_id 
WHERE `jona_jshopping_products_attr`.product_id=`1` 
ORDER BY `jona_jshopping_products_attr`.attr_order ASC



такая ошибка
Код: php
1.
#1054 - Unknown column 'jona_jshopping_attr_values.'name_ru-RU'' in 'field list'


но name_ru-RU точно есть в этой таблице...
...
Рейтинг: 0 / 0
Выборка значений из одной таблицы на основании данных из другой
    #38737303
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не jona_jshopping_attr_values, а ку3 (или ку4)
...
Рейтинг: 0 / 0
Выборка значений из одной таблицы на основании данных из другой
    #38737322
ShutTap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
аа, тут тоже заменять. теперь все понятно, спасибо большущее)
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка значений из одной таблицы на основании данных из другой
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]