[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: помогите с выводом
maximka787
Ребята, привет, помогите, у меня есть 2 таблицы "Машины" и "связь машин с текучим чемпионатом".

1) ID_CAR, NAME // id_car машины, название машины
2) ID_CHAMP, ID_CAR // id чемпионата, id машины учавствующей в чемпионате.


Если бы это было одна таблица, то проблем бы не было, но если использовать правильно реляционную модель базы, то грамотно разделить на 2 таблицы, как на примере.

А вопрос в том, как мне показать машины НЕ участвующие в чемпионате?



Спустя 19 минут, 20 секунд (4.05.2011 - 09:06) Mirexzpalich написал(а):

SELECT * FROM `машины` as A
WHERE (SELECT count(*) FROM `вязь машин с текучим чемпионатом` as B WHERE B.`id_car`=A.`id_car`)=0;

Спустя 29 минут, 10 секунд (4.05.2011 - 09:35) maximka787 написал(а):
Mirexzpalich
Спасибо, попробую сейчас.

Спустя 26 секунд (4.05.2011 - 09:36) Michael написал(а):
ни в одном чемпионате не участвующие? Или в определенном?

Спустя 14 минут, 28 секунд (4.05.2011 - 09:50) maximka787 написал(а):
Michael
те id, которых нет во второй таблице, тк первая содержит полный список всех машин, а вторая только те которые учавствуют.

Спустя 3 минуты, 33 секунды (4.05.2011 - 09:54) linker написал(а):
SELECT `cars`.* FROM `cars`
LEFT JOIN `champ` ON `champ`.`ID_CAR` = `cars`.`ID_CAR`
WHERE `champ`.`ID_CHAMP` IS NULL

Спустя 5 минут (4.05.2011 - 09:59) maximka787 написал(а):
linker
Благодарю! только я не пойму, что обозначают точки `cars`.

я с таким не сталкивался никогда.

или это вся таблица cars просто обозначена, все поля в ней?

Спустя 4 минуты, 6 секунд (4.05.2011 - 10:03) linker написал(а):
Формат: `название таблицы`.`название поля в таблице`.

У тебя две таблицы, в которых есть поля с одинаковым названием - ID_CAR. Чтобы понять, из какой таблицы берется данное поле необходимо строго это указывать иначе если ты напишешь просто `ID_CAR`, то будет не понятно, то ли оно из таблицы `cars`, то ли из таблицы `champ`. В результате Мускул будет ругаться нехорошими словами.

Спустя 2 минуты, 5 секунд (4.05.2011 - 10:05) maximka787 написал(а):
linker
жестоко. ладно изучу как следует. Спасибо.

Спустя 4 минуты, 14 секунд (4.05.2011 - 10:09) linker написал(а):
Полный формат конечно выглядит так: `название базы данных`.`название таблицы`.`название поля в таблице`. Длинно, но, например в ряде случаев, позволяет избавиться от mysql_select_db().

Спустя 6 минут, 11 секунд (4.05.2011 - 10:15) maximka787 написал(а):
Цитата (linker @ 4.05.2011 - 07:09)
но, например в ряде случаев, позволяет избавиться от mysql_select_db().

Это если только пользоваться разными базами, но на практике, в рамках одого проекта, ни у меня, ни у моих кодеров такого не было. Хотя вещь гибкая достаточно.

Спустя 25 минут, 22 секунды (4.05.2011 - 10:41) linker написал(а):
Да это понятно, это так для справки.


_____________
..Работает - не трогай!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.