|
|
|
| Есть 3 таблицы вот структура
id from to filename count_download date info flag
id to from time name message reading
id filename to time desc from flag
|
Как мне выбрать все записи где flag reading и flag =0 ? | |
|
|
|
|
|
|
|
для: Alph[p]a
(07.04.2011 в 15:32)
| | А через какие поля эти таблицы связаны друг с другом? И какие поля нужны выбрать? | |
|
|
|
|
|
|
|
для: cheops
(07.04.2011 в 16:23)
| | нужно получить все записи у которых поля flag flag и reading =0 | |
|
|
|
|
|
|
|
для: Alph[p]a
(07.04.2011 в 16:33)
| | Это понятно, не понятно для чего используется JOIN, собственно это даже не имеет значения, имеет значение способ объединения этих трех таблиц. Данные в этих таблицах как-то связаны друг с другом? Почему потребовался один запрос, а не три отдельных?
PS Это я не из вредности спрашиваю, просто эта информация нужна, чтобы составить условия объединения :) | |
|
|
|
|
|
|
|
для: cheops
(07.04.2011 в 16:35)
| | я хочу одним запросом выбрать просто. никак не связаны данные, внешнего ключа нету.
просто надо где у этих полей 0 вывести.
делаю так
SELECT flag FROM iao_order WHERE flag='0' UNION
SELECT flag FROM iao_stream WHERE flag='0' UNION
SELECT reading FROM iao_message WHERE reading='0'
|
одна запись... хотя должно 6! | |
|
|
|
|
|
|
|
для: Alph[p]a
(07.04.2011 в 16:37)
| | Все правильно делаете, но у UNION-а есть особенность, он по умолчанию дублирующие записи убирает, чтобы отключить такое поведение нужно использовать форму UNION ALL
SELECT flag FROM iao_order WHERE flag='0' UNION ALL
SELECT flag FROM iao_stream WHERE flag='0' UNION ALL
SELECT reading FROM iao_message WHERE reading='0'
|
| |
|
|
|
|
|
|
|
для: cheops
(07.04.2011 в 17:12)
| | спасибо! то что надо! не знал про ALL | |
|
|
|
|
|
|
|
для: Alph[p]a
(08.04.2011 в 08:11)
| | SELECT flag,to FROM iao_order WHERE flag='0' AND to='37' UNION ALL
SELECT flag,to FROM iao_stream WHERE flag='0' AND to='37' UNION ALL
SELECT flag,to FROM iao_certificate WHERE flag='0' AND to='37' UNION ALL
SELECT reading,to FROM iao_message WHERE reading='0' AND to='37'
ответ по полю to идет вида - [BLOB - 2Байт]
почему??! | |
|
|
|