Я пытаюсь получить информацию из 4 разных таблиц одной базы данных - PullRequest
0 голосов
/ 10 июня 2018

Чтобы создать список данных, я пытаюсь получить информацию из 4 разных таблиц одной и той же базы данных, используя php и только один SQL-оператор.Таблицы связаны друг с другом, как указано ниже, с первыми ключами: P и B имеют свои первичные ключи как первичные ключи в D. T имеет свой первичный ключ как первичный ключ в B

Here is the data base

Этолегко с 3 различными SQL-операторами,

{
$sql1="SELECT * FROM daneismos WHERE danDateEpistr IS NULL ORDER BY danDateDaneis";

$sql2="SELECT * FROM titlos WHERE titlosId IN 
(SELECT bookTitle FROM book WHERE bookID = '".$recDaneismos['danBookId']."')";

$sql3="SELECT * FROM person WHERE personId = '".$recDaneismos['danPersonId']."'"; 
}

, но слишком сложно для меня, используя только одну.

1 Ответ

0 голосов
/ 10 июня 2018

Полагаю, это может вам помочь:

SELECT p.X, d.Y, b.Z, t.F
FROM person p
  JOIN daneismos d ON p.personId = d.danPersonId
  JOIN book b ON d.danBookId = b.bookID
  JOIN titlos t ON t.titlosId = b.bookTitle
  WHERE b.bookId = '$danBookId'
    AND personId = 'danPersonId';

Даже вы можете поставить условия для методов соединения.Кстати, будьте осторожны с этими операторами множественного объединения, потому что это может сделать вашу базу данных медленнее

...