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, которых нет во второй таблице, тк первая содержит полный список всех машин, а вторая только те которые учавствуют.
те 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 просто обозначена, все поля в ней?
Благодарю! только я не пойму, что обозначают точки `cars`.
я с таким не сталкивался никогда.
или это вся таблица cars просто обозначена, все поля в ней?
Спустя 4 минуты, 6 секунд (4.05.2011 - 10:03) linker написал(а):
Формат: `название таблицы`.`название поля в таблице`.
У тебя две таблицы, в которых есть поля с одинаковым названием - ID_CAR. Чтобы понять, из какой таблицы берется данное поле необходимо строго это указывать иначе если ты напишешь просто `ID_CAR`, то будет не понятно, то ли оно из таблицы `cars`, то ли из таблицы `champ`. В результате Мускул будет ругаться нехорошими словами.
У тебя две таблицы, в которых есть поля с одинаковым названием - 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 написал(а):
Да это понятно, это так для справки.
_____________
..Работает - не трогай!