Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Связь двух таблиц
Форумы портала PHP.SU » » Работа с СУБД » Связь двух таблиц

Страниц (1): [1]
 

1. AgManiX - 08 Октября, 2013 - 17:10:20 - перейти к сообщению
Здравствуйте!
Вопрос простейший - нужно связать элементы двух таблиц:
reviews - основная таблица, отсюда берутся все данные
projects - отсюда нужно взять только slug (as pSlug) и name (as pName)
вот запрос в нынешнем виде:
2. esterio - 08 Октября, 2013 - 17:17:55 - перейти к сообщению
Очень много информации о структуре
3. AgManiX - 08 Октября, 2013 - 17:22:47 - перейти к сообщению
reviews:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. id
  3. rating
  4. name
  5. photo
  6. date
  7. project - `projects.id`
  8. description
  9.  

projects:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. id
  3. type
  4. subType
  5. slug
  6. name
  7. address
  8. timeLimit
  9. screenshot
  10. doneWorks
  11. description
  12.  
4. esterio - 08 Октября, 2013 - 17:24:55 - перейти к сообщению
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM reviews LEFT JOIN projects ON(reviews.project = projects.id)
5. AgManiX - 08 Октября, 2013 - 17:56:06 - перейти к сообщению
esterio пишет:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM reviews LEFT JOIN projects ON(reviews.project = projects.id)

Спасибо! Только вопрос - в reviews и projects есть поля с одинаковыми названиями - id, name, а поле name нужно получить из одной таблицы и из другой в обязательном порядке, как это можно реализовать?
6. esterio - 08 Октября, 2013 - 18:03:00 - перейти к сообщению

Выучить СЕЛЕКТ думаю не проблема
7. imya - 08 Октября, 2013 - 18:05:57 - перейти к сообщению
AgManiX пишет:
Спасибо! Только вопрос - в reviews и projects есть поля с одинаковыми названиями - id, name, а поле name нужно получить из одной таблицы и из другой в обязательном порядке, как это можно реализовать?


Не вижу ничего сложного:

CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. SELECT
  3.     r.name,
  4.     p.name
  5. FROM reviews AS r
  6. LEFT JOIN projects AS p
  7.     ON  r.project= p.id

 

Powered by ExBB FM 1.0 RC1