Выбрать все непустые элементы таблицы

.scu

Новичок
Выбрать все непустые элементы таблицы

Можно ли как-то стандартными средствами MySQL выбрать из таблицы (при условии, что мы не знаем заранее кол-во ее полей и их название и выборку делаем вида "SELECT *")
все непустые элементы?
 

Long

Новичок
самое странное, при такой постановке вопроса, что мы все таки знаем имя таблицы.
 

.scu

Новичок
это совсем не странно, т.к. во-первых имя таблицы также может быть неизвестно :)
во-вторых, даже если оно известно - выборка может идти из нескольких таблиц, где полей очень много, перечислять каждое из них неудобно.
 

Long

Новичок
если известна структура базы, то почему должна быть не известна структура таблиц??
 

Navarro

Новичок
SHOW DATABASES; - Получаем список всех баз
USE DB_NAME; - Указываем что будем использовать базу DB_NAME
SHOW TABLES; - Получаем список всех таблиц в базе DB_NAME
DESCRIBE TABLE_NAME; Получаем список всех полей в таблице TABLE_NAME
 

zerkms

TDD infected
Команда форума
Navarro
+ если mysql5, то всё ещё проще делается. но вопрос был про нативные средства :)
 

.scu

Новичок
Navarro, видимо вы меня не совсем верно поняли.
Задача был выбрать все не пустые поля (из нужной таблицы (таблиц) при SELECT * встроенными средствами MySQL

грубо говоря, когда делается большая выборка некоторые поля могут быть пустыми - не хочется их с собой таскать, т.к. их и так много, в этом и был вопрос.

ответ, насколько можно понять - встроенных подобных средств нет.

-~{}~ 23.06.08 02:20:

Long, если выборка динамическая - вполне имеет место быть.
 

antson

Новичок
Партнер клуба
.scu
SELECT *
предпологает что тебе нужны строки вида поле1 ... полеN
если хотя бы одно поле не пустое строка нужна ?
исключив аутоинкрементные поля , получишь список которые не могут быть пустыми.

НО переменный набор полей чтобы пустых вообще не было так не добьешся.

что за исходная задача ? опять студенты лабу пищут ?
 

.scu

Новичок
antson, причем здесь студенты???

Задачу я описала в начале топика, а чуть ниже описала, зачем это нужно, но суть в том:
чтобы не засорять конечный массив данных пустыми значениями.
удалять пустые значения можно конечно и PHP-ой, просто хотелось узнать, вдруг есть соответствующая стандартная операция, о которой я не знаю в MySQL
 

Mols

Новичок
что значит "непустые элементы"?
Насколько я понял, Вы хотите при выборе строки в которой есть 4 поля - получить только те поля которые не пусты?
Тогда вы "хотите странного" (учитывая конечно "SELECT *")
Потому как в одной строке может быть пустым поле 1 и поле 2, а во второй строке поле 2 и поле 4, а в третьей поле 1, 2, и 4.
В общем или я чего-то не понял или Вы вообще не понимаете как работать с БД(без обид).
 

Gas

может по одной?
.scu
Ты точно не путаешь "поля" (fields) со строками (rows) ?
Потому что твой вопрос не понятен, тебя не заставляет это задуматься ?
 

.scu

Новичок
Gas, я-то не путаю, но допускаю, что можно не верно понять мою трактовку:)


Mols, почему же странного?
я хочу, чтобы если, в первом ряду было не заполнено 1-ое поле, оно бы не отдавалось (т.к. путое), если во втором рядку 2-ое поле, аналогично.

непустые элементы = значения полей.

-~{}~ 23.06.08 21:15:

вообщем, понятно, что встроенных средств MYSQL к этому нет, посему вопрос снимается.
 

Gas

может по одной?
я даже сомневаюсь что подобное есть в других базах данных, имхо, это противоречит реляционной алгебре.
просто ты не должен этого хотеть :)
 

Royal Flash

-=MaestrO=-
Наверное, .scu хотела не совсем то, о чем написала :). Чтобы не открывать новую тему, задам вопрос в этой.

Как выбрать только не пустые (не NOT NULL, а именно не пустые) значения из одной колонки таблицы? Т.е. мне нужно обновить одну таблицу данными из другой, только в том случае, когда эти данные есть в другой. MySQL 5

SELECT id, need_col FROM table WHERE ned_col = не пустая
 

Royal Flash

-=MaestrO=-
Тю, как говорится, блин... а ларчик просто открывался :) Я то уже начал искать нечто наподобие empty() в php для mysql, спасибо :)
 
Сверху