SQL объединяет 4 таблицы, выбирая только столбцы из 2

0
CREATE TABLE user (
userID INT AUTO_INCREMENT PRIMARY KEY,
accountTypeID INT NOT NULL,
userEmail VARCHAR(320) NOT NULL,
userPassword VARCHAR(32) NOT NULL,
userFirst VARCHAR(20) NOT NULL,
userLast VARCHAR(20) NOT NULL,
userPhone VARCHAR(10) NOT NULL,
lastAccess TIMESTAMP NOT NULL,
userRegistry DATE NOT NULL,
FOREIGN KEY (accountTypeID) REFERENCES accountType(accountTypeID));


CREATE TABLE participant (
participantID INT AUTO_INCREMENT PRIMARY KEY,
vehicleID INT NOT NULL,
userID INT NOT NULL,
eventID INT NOT NULL,
participantRegistry DATE NOT NULL,
paymentMethodID INT NOT NULL,
FOREIGN KEY (vehicleID) REFERENCES vehicle(vehicleID),
FOREIGN KEY (userID) REFERENCES user(userID),
FOREIGN KEY (eventID) REFERENCES event(eventID),
FOREIGN KEY (paymentMethodID) REFERENCES paymentMethod(paymentMethodID));


CREATE TABLE vehicle (
vehicleID INT AUTO_INCREMENT PRIMARY KEY,
makeID INT NOT NULL,
vehicleModel VARCHAR(20) NOT NULL,
vehicleYear VARCHAR(4) NOT NULL,
tshirtID INT NOT NULL,
clubID INT NOT NULL,
FOREIGN KEY (makeID) REFERENCES make(makeID),
FOREIGN KEY (tshirtID) REFERENCES tshirt(tshirtID),
FOREIGN KEY (clubID) REFERENCES club(clubID));


CREATE TABLE club (
clubID INT AUTO_INCREMENT PRIMARY KEY,
clubName VARCHAR(20) NOT NULL,
clubLogo BLOB);


$sql="SELECT U.userFirst, U.userLast, C.clubName FROM user AS U, club AS C
   INNER JOIN participant AS P
        on P.userID = U.userID
   INNER JOIN vehicle AS V
        on V.vehicleID = P.vehicleID
   INNER JOIN club AS C
        on C.clubID = V.clubID
   ORDER BY C.clubName ASC";

Мы пытаемся получить все клубы и всех участников (имя и фамилию) в каждом клубе.

Таблицы участников и транспортных средств просто необходимы, чтобы связать таблицу пользователей с клубным столом.

Я знаю, что это что-то простое, сервер, который мы используем, не отображает sql-ошибки и не имеет phpmyadmin.

Теги:

1 ответ

0

Благодаря maSTAShuFu я пришел к результату работы.

SELECT U.userFirst, U.userLast, C.clubName FROM club AS C
INNER JOIN vehicle AS V
    on C.clubID = V.clubID
INNER JOIN participant AS P
    on V.vehicleID = P.vehicleID
INNER JOIN user AS U
    on P.userID = U.userID        
ORDER BY C.clubName ASC

Ещё вопросы

Сообщество Overcoder
Наверх
Меню