2016-10-06 4 views
-2

я есть таблица (например, С), что contanin общее поле из A, B, например так:выберите из A, если id = 1, и выберите из B, если id = 2 из?

C полей: идентификатор, название, описание,

и каждый (А, В) таблицы имеют частный поля, как это: А поля: картины, год, B поля: писателя, колледж

я хочу выбрать все данные о таблицах A, B, что записи содержат только собственные поля, как это:

первая запись: идентификатор, название, описание, фото, года и второй записи: идентификатор, название, описание, автор, колледж

+0

Что вы уже пробовали? Я думаю, что вы ищете ссылку на SQL-запрос, выполните быстрый поиск Google в JOIN. – Daniel

+0

нет, нет с объединением. Я хочу что-то вроде этого: выберите * из C и если id = 1 выберите * из A и если id = 2 выберите из B. Я не думаю, что этот запрос возможен при соединении. –

+0

Если вам не удалось связать таблицы вместе, невозможно выбрать на основе того, что у вас уже есть, например, столбцы из C не соответствуют ни одному столбцу из A или B. Однако, если у A и B был новый столбец с именем " id ", как C, вы можете связать их с join. Это кажется крайне непрактичным ... что именно вы пытаетесь сделать? – Daniel

ответ

1

Эй люди, я думаю, вы должны прочитать больше о SQL JOIN, которые вы можете прочитать more here

Я думаю, что нужно что-то вроде этого:

 SELECT 
     c.id, 
     c.title, 
     c.description, 
     a.picture, 
     a.year 
    from 
     c 
    INNER JOIN 
     a 
      on c.id=a.id ; 
SELECT 
    c.id, 
    c.title, 
    c.description, 
    b.writer, 
    b.college 
from 
    c 
INNER JOIN 
    b 
     on c.id=b.id 

вы получите:

идентификатор, название, описание, изображение, год

идентификатор, название, описание, автор, колледж

соединить все 3 таблицы вместе вы могли бы сделать так:

select fields_list 
from 
    a 
     inner join 
    b 
     on a.common_field = b.common_field 
     inner join 
    c 
     on b.common_field = c.common_field 

удачи. Надеюсь, это даст вам немного подсказки о том, чего вы хотите.

+1

Ударьте меня к нему, милый. – Daniel

+0

спасибо bru @ Daniel –

+0

это не работа. см. у меня шесть таблиц, содержащих поля из шести продуктов. я хочу выбрать общие поля из продуктов из C и выбрать частные поля из каждой таблицы в зависимости от столбца sub_id от C. –