ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

28.07.2009, 17:43
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
ну самое изящное, что я видел:
Код:
ALTER IGNORE TABLE table ADD UNIQUE INDEX (field)
|
|
|

04.08.2009, 19:40
|
|
Banned
Регистрация: 14.01.2009
Сообщений: 515
Провел на форуме: 1996429
Репутация:
468
|
|
Какая ширина типа будет,если в скобках не указывать ее при создании таблицы? Create table (a int unsigned)
|
|
|

04.08.2009, 20:37
|
|
Познающий
Регистрация: 20.02.2008
Сообщений: 82
Провел на форуме: 107625
Репутация:
2
|
|
Есть две таблицы: `geo_cities` и `puppy_listings`.
В первой таблице - список городов, во второй - объявления (титл, текст, city_id города согласно таблице `geo_cities`).
Как вывести список только тех городов, city_id которых есть в объявлениях?
Т.е. нужен запрос наподобие как-то так:
"SELECT * FROM `geo_cities` WHERE `geo_cities`.city_id == (`puppy_listings`.city_id для любой строчки таблицы `puppy_listings`) ORDER BY city_name ASC"
Реально ли сделать так?
|
|
|

04.08.2009, 20:42
|
|
Новичок
Регистрация: 03.08.2009
Сообщений: 28
Провел на форуме: 54914
Репутация:
26
|
|
Ты же сам ответил на свой вопрос (: как-то так
Код:
SELECT geo_cities.id FROM geo_cities , puppy_listings WHERE geo_cities.city_id = puppy_listings.city_id ORDER BY geo_cities.city_name ASC
Последний раз редактировалось omfg; 04.08.2009 в 20:44..
|
|
|

04.08.2009, 21:26
|
|
Познающий
Регистрация: 20.02.2008
Сообщений: 82
Провел на форуме: 107625
Репутация:
2
|
|
Сообщение от omfg
Ты же сам ответил на свой вопрос (: как-то так
О как  интересная тема...
|
|
|

04.08.2009, 21:42
|
|
Познающий
Регистрация: 20.02.2008
Сообщений: 82
Провел на форуме: 107625
Репутация:
2
|
|
Нее, не катит.. сделал так, но вот беда: он выводит в списке название города (geo_cities.city_name) столько раз, сколько его geo_cities.city_id упоминается в объявлениях (т.е. в таблице puppy_listings).. что же, если решения на sql нет, попробую в php убрать повторяющиеся элементы 
|
|
|

04.08.2009, 21:57
|
|
Banned
Регистрация: 14.01.2009
Сообщений: 515
Провел на форуме: 1996429
Репутация:
468
|
|
SELECT distinct geo_cities.id FROM geo_cities, puppy_listings WHERE geo_cities.city_id = puppy_listings.city_id ORDER BY geo_cities.city_name ASC
distinct устранит дубликаты в выводе
|
|
|

04.08.2009, 22:57
|
|
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
Провел на форуме: 3178262
Репутация:
389
|
|
ёпт, давно изобрели GROUP BY
Код:
SELECT geo_cities.*
FROM geo_cities, puppy_listings
WHERE geo_cities.city_id = puppy_listings.city_id
GROUP BY geo_cities.city_name
ORDER BY geo_cities.city_name ASC
|
|
|

08.08.2009, 11:16
|
|
Познающий
Регистрация: 12.11.2008
Сообщений: 33
Провел на форуме: 67053
Репутация:
15
|
|
Сообщение от FireFenix
ёпт, давно изобрели GROUP BY
Что оно дает?
|
|
|

09.08.2009, 03:27
|
|
Познающий
Регистрация: 10.03.2009
Сообщений: 54
Провел на форуме: 110312
Репутация:
50
|
|
Выводит рез-тат для каждого города.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|