2012-02-28 4 views
0

Я пытаюсь объединить три таблицы, все с одинаковой структурой. Однако идентификатор, о котором идет речь, может существовать или не существовать ни в одной из трех таблиц.Объединение 3 таблиц с использованием ID

TABLE A id name price sales 
TABLE B id name price sales 
TABLE C id name price sales 

В каждой таблице представлены цены на продукцию на данную неделю. Таким образом, ТАБЛИЦА A - текущая неделя, B на прошлой неделе, и C за неделю до этого.

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

+0

Я добавлю, что я считаю, что мне нужна одна таблица с идентификатором, который может существовать в любой из таблиц. Если это так, я бы выбрал идентификатор, а затем присоединился к другим трем таблицам. Пожалуйста, подтвердите, что это имеет смысл. –

+0

Вам нужна таблица с записями, соответствующими всем идентификаторам, которые существуют, по крайней мере, в одной из таблиц A, B или C (и NULL для столбцов, где нет идентификатора)? –

+0

Вы действительно не предоставили достаточной информации, чтобы кто-нибудь мог понять этот вопрос. Как отмечает @Bohemian, дизайн стола совершенно неработоспособный. Это домашнее задание? Если да, добавьте тег Homework. –

ответ

2

Ваш дизайн базы данных сомнительный. Вы должны иметь один таблицы продаж, которая имеет столбец «Дата», что-то вроде этого:

PRODUCT: id name 
SALES: id date product_id price sales 

Если вы не сделаете это, вы должны избавиться от всех строк каждой таблицы каждой недели и нагрузка на следующей неделе ... сумасшедшая.

Кроме того, ваш вопрос довольно неясно, что вы хотите

0

Если то, что требуется, чтобы выбрать строку, соответствующую wanted_id любой из таблиц A, B или C, затем:

SELECT * FROM A UNION B UNION C WHERE id=wanted_id; 
Смежные вопросы