Отображение данных из двух таблиц SQL Объяснение синтаксиса

Я новичок в SQL и пытаюсь лучше понять синтаксис отображения данных из двух таблиц. Я прочитал много уроков ( http://databases.about.com/od/sql/l/aajoins2.htm ) но я все еще немного туманно на эту тему.

Мое желаемое поведение — отображать данные из двух таблиц SQL в одной HTML-таблице. Это было бы просто, за исключением того, что в таблице 2 хранится еще несколько фрагментов информации. Вот данные, хранящиеся в каждой таблице.

Таблица 1 (обучение по возврату)
-Дата отправки, ID, имя клиента, имя продукта, _продукт_состояние
Таблица 2
-Дата отправки, ID, имя клиента, имя продукта, _продукт_условия, тип_клуба, club_flex, club_loft, club_hand

Я успешно использовал объединение для отображения совпадающих данных строк из двух таблиц, но мне также нужно отобразить club_type, club_flex, club_loft и club_hand из второй таблицы. Когда я подключаю его, ничего не отображается.

$result = mysqli_query($con,"SELECT SubmitDate, ID, customer_name, product_name, product_condition
FROM trainingaidreturns
UNION
SELECT SubmitDate, ID, customer_name, product_name, product_condition
FROM clubreturns");

И вот что мне по сути нужен код, чтобы сделать.

$result = mysqli_query($con,"SELECT SubmitDate, ID, customer_name, product_name, product_condition
FROM trainingaidreturns
UNION
SELECT SubmitDate, ID, customer_name, product_name, product_condition, club_type, club_hand, club_flex, club_loft
FROM clubreturns");

Я думаю, что мне нужно использовать соединение, но я не понимаю синтаксис. Если бы кто-нибудь мог указать мне правильное направление, я был бы очень признателен!

2

Решение

Если бы вы запустили один и тот же запрос в редакторе запросов, вы бы получили сообщение об ошибке чего-то вроде «столбцы и типы данных для столбцов должны совпадать на обоих концах вашего объединения».

чтобы обойти это, вы можете изменить:

$result = mysqli_query($con,"SELECT SubmitDate, ID, customer_name, product_name, product_condition
FROM trainingaidreturns
UNION
SELECT SubmitDate, ID, customer_name, product_name, product_condition, club_type, club_hand, club_flex, club_loft
FROM clubreturns");

чтобы:

$result = mysqli_query($con, "SELECT SubmitDate, ID, customer_name, product_name, product_condition, club_type, club_hand, club_flex, club_loft
FROM clubreturns
UNION
SELECT SubmitDate, ID, customer_name, product_name, product_condition, null, null, null, null
FROM trainingaidreturns");

или похожие. В основном это делает «заполнитель / нулевые» значения в столбцах, которые не соответствуют таблице в таблицу

РЕДАКТИРОВАТЬ:

вот скрипка, демонстрирующая концепцию: http://sqlfiddle.com/#!2/4a152/1

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]