如何仅从数据库中选择已填写的记录?

时间:2016-07-20 04:52:52

标签: php

仅显示表格中的已填写记录。

这是我的数据库:

CREATE TABLE `category1` (
  `parent_id` int(100) NOT NULL,
  `parent_name` varchar(100) NOT NULL,
  `cat_name` varchar(100) NOT NULL,
  `cat_status` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

将数据转储到db:

INSERT INTO `category1` (`parent_id`, `parent_name`, `cat_name`, `cat_status`) VALUES
(1, 'Electronics', '', 'Active'),
(2, '', 'Laptops', 'Active'),
(3, '', 'Mobiles', 'Active'),
(4, 'Mens', '', 'Active'),
(5, '', 'Watches', 'Active');

现在我想要显示parent_name字段,但事情是如果我这样做 "从表"中选择parent_name;它还向我显示了该字段的空记录。这些是空的原因,因为一次只能填充parent_name或cat_name。

4 个答案:

答案 0 :(得分:1)

您需要在查询中添加where条件:

select parent_name from category1 where parent_name != ''

您可能对不同的parent_name值感兴趣。在这种情况下,请在查询中使用distinct语句:

select distinct parent_name from category1 where parent_name != ''

答案 1 :(得分:0)

SELECT parent_name FROM category1 WHERE parent_name != ''

将选择parent_name不为空的所有行。

答案 2 :(得分:0)

您可以使用此query

SELECT parent_name FROM category1 WHERE (parent_name != '' AND parent_name IS NOT NULL)

IS NOT NULL中使用SQL条件来测试non-NULL value。如果找到非NULL值,则返回TRUE,否则返回FALSE

答案 3 :(得分:0)

这将保证没有空值

 SELECT parent_name FROM table WHERE parent_name != ''