Запрос ко второй таблице

#1 10 апреля 2014 в 22:40
Здравствуйте. Помогите сообразить.Я перехожу по ссылке seolink которой прописан в табл.1.Теперь мне надо вывести данные на этой странице с табл.2.cat_id которой равно id табл.1. Пробую так
  1. $sql = 'SELECT * FROM cms_test WHERE cat_id = (SELECT id FROM cms_test_category WHERE id = seolink)";
но что то не выходит.
#2 11 апреля 2014 в 09:05
вы хотите вывести данные из таблицы cms_test_category?
#3 11 апреля 2014 в 09:12
Не совсем понял что вы хотите сделать, и не понятно почему поле id = seolink
Если вы хотите сделать выборку из двух таблиц то вот вам запрос
  1. SELECT t.id, t.cat_id
  2. FROM cms_test t
  3. INNER JOIN cms_test_category c ON t.cat_id = c.id
  4. WHERE t.id = {$seolink}
#4 12 апреля 2014 в 07:43
Спасибо, разобрался. Вот и мне было не понятно как вывести сеолинк из строки где id =… Затупил и не сдвинуться было.Сделал так
  1. $vid = $model->get_table_cat('cms_video','cat_id = (SELECT id FROM cms_video_category WHERE seolink = "'.$link.'")','*');
. Хотя красивее как у вас, но эти JOIN ещё не освоил.
#5 12 апреля 2014 в 10:33
Lora, в обдном из видео курсов видел такую картинку. Очень понятно объясняются inner и outer join

Иллюстрация
#6 12 апреля 2014 в 11:14


Lora, в обдном из видео курсов видел такую картинку. Очень понятно объясняются inner и outer join

Иллюстрация

Евгений

нифига не понятно если честно, хоть и знаю join

есть наглядные примеры более удачные;)
#7 12 апреля 2014 в 11:17

$vid = $model->get_table_cat('cms_video','cat_id = (SELECT id FROM cms_video_category WHERE seolink = "'.$link.'")','*');

Lora
а так?
  1.  
  2. $vid = $model->get_table_cat('cms_video', "cat_id = (SELECT id FROM cms_video_category WHERE seolink = '{$link}' LIMIT 1)", '*');
  3.  
cat_id = (подзапрос)
подразумевается что подзапрос вернет 1 строку а не список, если список тогда надо было бы писать cat_id in (SELECT ...)
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.