Частый гость
Покинул форум
Сообщений всего: 134
Дата рег-ции: Февр. 2012
Откуда: Тольятти
Помог: 2 раз(а)
[+]
Помогите составить запрос, получается составить только с использованием if в запросе ,хотелось бы без него. Есть четыре таблицы
CODE (
SQL ):
скопировать код в буфер обмена
CREATE TABLE IF NOT EXISTS `friends_iv` (
`id` int( 12) NOT NULL AUTO_INCREMENT ,
`id_user_ot` int( 5) NOT NULL ,
`id_user_pol` int( 5) NOT NULL ,
`readed` int( 2) NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE= InnoDB DEFAULT CHARSET= utf8 AUTO_INCREMENT = 19 ;
CREATE TABLE IF NOT EXISTS `profile_user` (
`id` int( 8) NOT NULL AUTO_INCREMENT ,
`hash_id_user` varchar( 70) NOT NULL ,
`name_user` varchar( 50) NOT NULL ,
`family_user` varchar( 60) NOT NULL ,
PRIMARY KEY ( `id` ) ,
UNIQUE KEY `email_user` ( `email_user` ) ,
UNIQUE KEY `id_soc` ( `id_soc` )
) ENGINE= MyISAM DEFAULT CHARSET= utf8 AUTO_INCREMENT = 38 ;
CREATE TABLE IF NOT EXISTS `chat_tema` (
`id` int( 6) NOT NULL AUTO_INCREMENT ,
`id_user` int( 5) NOT NULL ,
`tema` varchar( 500) NOT NULL ,
`count` tinyint( 3) NOT NULL ,
`img` varchar( 60) NOT NULL ,
`date` datetime NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE= MyISAM DEFAULT CHARSET= utf8 AUTO_INCREMENT = 113 ;
CREATE TABLE IF NOT EXISTS `chat_users` (
`id` int( 9) NOT NULL AUTO_INCREMENT ,
`id_tema` int( 9) NOT NULL ,
`id_user` int( 7) NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE= MyISAM DEFAULT CHARSET= utf8 AUTO_INCREMENT = 66 ;
для вставки если хотите проверить
INSERT INTO `profile_user` ( `id` , `hash_id_user` , `name_user` , `family_user` ) VALUES
( 1 , '1f0e3dad99908345f7439f8ffabdffc4' , 'Иван' , 'Дурак' ) ,
( 37 , 'be5ea4e47dd3a8791c07c8b8ea62ba0f' , 'Вася' , 'Пупкин' ) ;
INSERT INTO `chat_tema` ( `id` , `id_user` , `tema` , `count` , `img` , `date` ) VALUES
( 77 , 1 , 'Черно-белая он понимает прогон ' , 33 , '4e9b3bd1084f75d.jpg' , '2014-01-08 19:17:01' ) ,
( 82 , 37 , 'Задача Вы хотите удалить связанные' , 50 , '3e9b3bdb884f75d.jpg' , '2014-01-14 17:44:37' ) ;
INSERT INTO `chat_users` ( `id` , `id_tema` , `id_user` ) VALUES
( 4, 82, 37) ,
( 64, 77, 37) ,
( 65, 77, 1) ;
INSERT INTO `friends_iv` ( `id` , `id_user_ot` , `id_user_pol` , `readed` ) VALUES
( 3, 36, 37, 1) ,
( 4, 1, 36, 1) ,
( 15, 37, 1, 1) ,
( 17, 36, 2, 1) ,
( 18, 37, 2, 0) ;
вообщем вот этим запросом я вывожу записи(темы друзей) своих друзей исключая свои, 37 - это переменная
Нужен запрос который выводил бы записи(темы) друзей в которых меня ещё нет, помогите пожалуйста
CODE (
SQL ):
скопировать код в буфер обмена
SELECT
chat_tema. id, chat_tema. id_user, chat_tema. tema,
profile_user. id, profile_user. name_user, profile_user. family_user,
chat_users. id_user, chat_users. id_tema
FROM friends_iv, chat_tema, profile_user, chat_users
WHERE ( friends_iv. id_user_ot = 37 OR friends_iv. id_user_pol = 37 ) AND NOT chat_tema. id_user = 37
GROUP BY chat_tema. id_user
ORDER BY chat_tema. id DESC LIMIT 10
-----Самое лучшее решение проблемы
самое простое