如果你想複製一個行(即有輸入只有一個這樣的行),其中Five
或Six
不NULL
和Eight
或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
是一個保留字,這就是爲什麼它需要在`
的(我個人認爲,你應該避免使用保留字作爲列/表名)。
如果這不完全是你想要的,我希望它足以得到你想要的。
是的,這是我想要做的,但對於其他日期,它可能是不同的時間,可能會不同,即六和七可能是3000和九和十可能是3001 – Pat74
你可以更明確這一點,即給我們明確定義的情況下,你想這樣做? – Dukeling