SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 13.09.2016 20:38:26

loop20
Участник
Зарегистрирован: 13.09.2016
Сообщений: 4

Вывод данных из разных таблиц по условию

Здравствуйте. Это мое первая тема. С Mysql только разбираюсь. Короче.
Есть две таблицы table и table1
В обоих есть колонки id_user где значения совпадают (INSERT в обе таблицы) и поля
zagolovok со своими значениями для каждой таблицы.
Cоответственно ID в каждой таблицe свои.

На рабочей странице php выводятся данные из table (zagolovok)

FROM table

echo '$row['zagolovok']';

Задача: на этой же странице вывести данные из соответствующей же колонки таблицы table1

echo '$row['zagolovok']';


table ___________________

id | id_user | zagolovok
-------------------------
01 | 33 | Vasya
02 | 34 | Petya

table1 __________________

id | id_user | zagolovok
-------------------------
001 | 33 | Pupkin
002 | 34 | Ivanov


Сейчас:

Vasya
Petya

Надо:

Vasya Pupkin
Petya Ivanov

Не могу понять как это сделать...

Пробовал так - не работает

select concat_ws(" ", t1.zagolovok, t2.zagolovok) as `full_name`
    from `table` as t1
    join `table1` as t2
        on t1.user_id = t2.user_id;

Неактивен

 

#2 13.09.2016 20:43:11

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2419

Re: Вывод данных из разных таблиц по условию

Приведите структуру таблиц, наполнение тестовыми данными и ожидаемый результат.
В идеале - создайте пример на sqlfiddle


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#3 13.09.2016 21:26:26

loop20
Участник
Зарегистрирован: 13.09.2016
Сообщений: 4

Re: Вывод данных из разных таблиц по условию

Вот как бы картинкой понагляднее


Прикрепленные файлы:
Attachment Icon rect3733.png, Размер: 400,630 байт, Скачано: 390

Неактивен

 

#4 13.09.2016 21:28:22

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2419

Re: Вывод данных из разных таблиц по условию

Не нагляднее, увы. На sqlfiddle пример создайте пожалуйста.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#5 13.09.2016 23:37:54

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5827

Re: Вывод данных из разных таблиц по условию

а чем вас не устраивает вами же приведенный вариант?

MariaDB [test]> select * from t1;
+---------+-----------+
| id_user | zagolovok |
+---------+-----------+
|      33 | Vasya     |
|      34 | Petya     |
+---------+-----------+
2 rows in set (0.00 sec)

MariaDB [test]> select * from t2;
+---------+-----------+
| id_user | zagolovok |
+---------+-----------+
|      33 | Pupkin    |
|      34 | Ivanov    |
+---------+-----------+
2 rows in set (0.00 sec)

MariaDB [test]> select concat_ws(" ", t1.zagolovok, t2.zagolovok) as `full_name`
 from t1 join t2 on t1.id_user = t2.id_user;
+--------------+
| full_name    |
+--------------+
| Vasya Pupkin |
| Petya Ivanov |
+--------------+
2 rows in set (0.00 sec)
 

Неактивен

 

#6 14.09.2016 13:34:24

loop20
Участник
Зарегистрирован: 13.09.2016
Сообщений: 4

Re: Вывод данных из разных таблиц по условию

Он почему-то не работает.  Возможно дело в инклюдах где подключение к базе там разные селекты для разных страниц. Путаница походу как разберусь напишу что получилось.

Неактивен

 

#7 14.09.2016 13:41:44

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5827

Re: Вывод данных из разных таблиц по условию

что значит "не работает"?

возможно вы просто неправильно называете поля
id | id_user | zagolovok
        on t1.user_id = t2.user_id;

Неактивен

 

#8 15.09.2016 21:52:18

loop20
Участник
Зарегистрирован: 13.09.2016
Сообщений: 4

Re: Вывод данных из разных таблиц по условию

Так и не разобрался. Попытаюсь уточнить что получается.

1. Имеется две таблицы "magazin" и "board".
2. В обоих таблицах есть столбцы с общими названиями "zag", "zag_url", "foto" но с разными данными.
3. В них же есть столбцы "id_akk" в строках которых значения совпадают.

Таблица "magazin"

id   id_akk  |  zag  | zag_url |  foto
---------------------------------------
  1     33    |  moto | _moto   | _/moto.jpg
  2     34    |  velo | _velo   | _/velo.jpg

Таблица "board"

id   id_akk  |  zag  | zag_url |  foto
---------------------------------------
  3     33    |  sale | _sale   | _/sale.jpg
  4     34    |  chan | _chan   | _/chan.jpg


Задача: Вывести на одной странице (которая с объявлениями(board)) данные из таблицы "magazin" для объявлений с одинаковыми id_akk

Для 33 - sale, _sale, _/sale.jpg, moto, _moto, _/moto.jpg

Для 34 - chan, _chan, _/chan.jpg, velo, _velo, _/velo.jpg


При таком раскладе

$r=mysql_query("SELECT zag, zag_url, foto FROM board");

$rr=mysql_fetch_array($r);
echo '<br>'.$rr['zag'].'';
echo '<br>'.$rr['zag_url'].'';
echo '<br>'.$rr['foto'].'';


$r=mysql_query("SELECT CONCAT_WS ( t1.zag, t2.zag, t1.zag_url, t2.zag_url, t1.foto, t2.foto ) FROM magazin AS t1
JOIN `board` as t2
ON t1.id_akk = t2.id_akk");

$rr=mysql_fetch_array($r);
echo '<br>'.$rr['zag'].'';
echo '<br>'.$rr['zag_url'].'';
echo '<br>'.$rr['foto'].'';

Вывод 33 - sale, _sale, _/sale.jpg
      34 - chan, _chan, _/chan.jpg

Неактивен

 

#9 15.09.2016 22:19:14

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2419

Re: Вывод данных из разных таблиц по условию

А если

SELECT  m.*,b.* FROM `magazin` m JOIN `board` b USING(id_akk);


Ну и выводите уже то, что считаете нужным из выборки?


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson