当我运行一个语句来查看特定日期的行数时,我得到以下结果 - 3行
然而,因为表9在Five&六,然后在八&九我真的需要结果回来像这样的4行
这是使用
的代码SELECT BookingDate, Table, Five, Six, Seven, Eight, Nine, TenID
FROM **** WHERE BookingDate = '2013-09-24'
有什么想法吗?
答案 0 :(得分:0)
如果你想复制一行(即输入中只有一行)Five
或Six
不是NULL
和Eight
或{{1 }}不是Nine
,应该这样做:
NULL
SELECT *
FROM
(
/* Select everything you want, one of each */
SELECT BookingDate, `Table`, Five, Six, Seven, Eight, Nine, TenID
FROM ...
WHERE BookingDate = '2013-09-24'
UNION ALL
/* Select all rows that should be duplicated */
SELECT BookingDate, `Table`, Five, Six, Seven, Eight, Nine, TenID
FROM ...
WHERE BookingDate = '2013-09-24'
AND (Five IS NOT NULL OR Six IS NOT NULL)
AND (Eight IS NOT NULL OR Nine IS NOT NULL)
) a
ORDER BY `Table` /* or whatever you want to order by */
是一个保留字,这就是为什么它需要在Table
中(我个人认为,你最好不要使用保留字作为列/表名)。< / p>
如果这不是你想要的,我希望它足以得到你想要的东西。