как соединить два поля из разных таблиц в sql - PullRequest
0 голосов
/ 28 марта 2019

У меня есть две разные таблицы в phpmyadmin.Один - tbl_user, а другой - donate.

Теперь я хочу взять столбец donation_date из tbl_user и все столбцы из таблицы donate.Я хочу объединить один столбец (donation_date) из таблицы tbl_user и все клоны из таблицы donate, но не знаю, как написать запрос.

В приведенном ниже коде я только что написал запрос к таблице donate, так как я могу присоединиться к donation_date из tbl_user.

Вот мои подробности о двух таблицах в phpmyadmin.

tbl_user таблица:

tbl_user table

tbl_user output

donate таблица:

donate table

donate output

$db = new PDO('mysql:host=localhost;dbname=mypro_bms','root','');
$statement = $db->prepare(
    "insert into donate(passport_ic,blood_group,blood_bag,)
     values(:passport_ic, :blood_group, :blood_bag)"
);

Ответы [ 3 ]

1 голос
/ 28 марта 2019

Я хочу взять столбец donation_date из tbl_user и все столбцы из таблицы donate.

Вы ищете ... простой JOIN между таблицами tbl_user и donate?

Из ваших изображений схемы выглядит, как столбец passport_IPC можно использовать для объединения таблиц. Затем вы можете выбрать столбцы для возврата в предложении SELECT:

SELECT u.donation_date, d.*
FROM tbl_user u
INNER JOIN donate d ON d.passport_IPC = u.passport_IPC
0 голосов
/ 28 марта 2019

Как вы сказали, вы хотите взять столбец donation_date из tbl_user, чтобы вы выбрали только столбец nedded tbl_user.donation_date и использовать следующий псевдоним donation_date, а для получения всех столбцов из таблицы доната вы можете использовать этот трюк donate.*, он получает весь столбец

SELECT 
    donate.* , tbl_user.donation_date as donation_date 
FROM 
    tbl_user
JOIN 
    donate ON donate.passport_IPC = tbl_user.passport_IPC
0 голосов
/ 28 марта 2019

Похоже, Passport_IC - это общий столбец между двумя таблицами?

Вам действительно следует использовать числовые индексированные столбцы.Но поскольку у вас небольшая БД, это должно работать:

SELECT d.*, u.donation_date
FROM donate d
INNER JOIN tbl_user u ON u.Passport_IC = d.Passport_IC

РЕДАКТИРОВАТЬ: Вы должны также дать вашей таблице tbl_user первичный ключ.Посмотрите на нормализацию базы данных: https://en.wikipedia.org/wiki/Database_normalization

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...