2011-12-31 3 views
3

У меня есть 2 таблицы в PHPMyAdmin, которые нуждаются в соединительнойКак сделать объединение таблиц в PhpMyAdmin

tracklisting это моя одна и catelogue является другой, и сохраняются как InnoDB

Они оба имеют столбец CAT.NO и будут как и к этому столбцу. В catelogue он является основным и в треклисте индексируется

catelogue является моим родителем, а tracklisting будет ребенком, так как он не имеет информации для каждой записи в catelogue. Я считаю, что это было бы правильно, если я не ошибаюсь

Как это сделать, чтобы при запросе в столбце в tracklisting он выводил только матчи для «catelogue», потому что я хочу знать, на каком альбоме он включен, не мой весь 60000+ catelogue

Может ли это быть сделано с интерфейсом PhpMyAdmin или является ли это SQL Statement

Большое спасибо

EDIT:

Это код, который работал

SELECT * 
FROM tracklisting 
INNER JOIN catelogue ON catelogue.`CAT NO.` = tracklisting.`TRACKLISTING CAT NO.` 
WHERE tracklisting.`ARTIST` LIKE 'placebo' 

Спасибо всем, что помогли

ответ

4

я не знаю, если это может быть сделано с интерфейсом, но с SQL

SELECT * 
FROM 
    tracklisting t 
    INNER JOIN catelouge c on c.catno=t.catno 
WHERE t.id = 1 
+0

Просто нужно немного редактирования, чтобы соответствовать всем моим столбцам, но это то, что я хотел. O и предложение where изменилось на мои критерии поиска – Mark

0

Предполагая, что ваш треклист имеет идентификатор, и вы хотите запросить с ним:

select * from tracklisting t 
inner join catelogue c on c.cat.no = t.cat.no 
where t.id = 1 
0

Фактическое присоединиться происходит в SQL заявление, хотя с некоторыми типами хранения данных, как InnoDB вы также можете создавать внешние ключевые ссылки, следить за соблюдением отношения на уровне базы данных, чтобы ваши вставки требовали, чтобы надлежащие записи были на месте, и ваши удаления ограничены, если существуют дочерние записи.

Вот один из способов сделать синтаксис присоединиться к вашему запросу:

SELECT t.* FROM tracklisting t, catalogue c 
WHERE `t.CAT.NO` = `c.CAT.NO` 

EDIT: Here найти ссылку на учебник для создания внешних ключей в PhpMyAdmin.

+0

Если я настрою внешний ключ, phpmyadmin сможет создать код sql, который я ищу или который все еще нужно вводить вручную? – Mark

+0

К сожалению, нет, phpMyAdmin не будет создавать код соединения для вас на основе внешних ключей. Некоторые фреймворки PHP сделают для вас работу, такую ​​как CakePHP и другие. В этих рамках, если у вас настроены отношения с внешним ключом, тогда фреймворк выполняет все необходимые соединения в запросах. – davidethell

Смежные вопросы