【问题标题】:INSERT WITH SELECT query giving me syntax error?INSERT WITH SELECT 查询给我语法错误?
【发布时间】:2013-07-02 19:54:55
【问题描述】:

谁能告诉我我在这里做错了什么..... 这是我的查询并在尝试在 sqlite 数据库管理器中运行查询时出现语法错误“near SELECT”

INSERT INTO proposal_products(proposal_id,date_created,date_modified,quantity,installation_position,notes,proposal_location_id,parent_id,prompt,cost_price,sale_price,service_price,labour_hours,maint_hours,comm_hours,adj_cost_price,adj_sale_price,adj_service_price,adj_labour_hours,adj_maint_hours,adj_comm_hours,is_adjusted,adj_unit_price,discipline_products_id)VALUES('1000000','27-02-2013','27-02-2013',3,'dfdf','dsdsd',6,58,'hghfg',21,22,22,48,45,45,0,0,0,0,0,0,1,0,SELECT id FROM discipline_products WHERE product_id = SELECT id FROM products WHERE c4w_code = 'STDD')

这是错误的快照

【问题讨论】:

  • 尝试添加括号,例如...,0,1,0,(SELECT id FROM discipline_products WHERE product_id = (SELECT id FROM products WHERE c4w_code = 'STDD'))

标签: android sql sqlite cordova


【解决方案1】:

试试这个方法:

INSERT INTO proposal_products(proposal_id,date_created,date_modified,quantity,installation_position,notes,proposal_location_id,parent_id,prompt,cost_price,sale_price,service_price,labour_hours,maint_hours,comm_hours,adj_cost_price,adj_sale_price,adj_service_price,adj_labour_hours,adj_maint_hours,adj_comm_hours,is_adjusted,adj_unit_price,discipline_products_id)
SELECT '1000000','27-02-2013','27-02-2013',3,'dfdf','dsdsd',6,58,'hghfg',21,22,22,48,45,45,0,0,0,0,0,0,1,0, id 
FROM discipline_products 
WHERE product_id = (SELECT id FROM products WHERE c4w_code = 'STDD')

【讨论】:

  • 但是如果我需要动态获取值而不是现在提供常量值,那么我将如何编写?
  • 比你必须使用变量而不是值。
【解决方案2】:
INSERT INTO proposal_products 
(
    proposal_id,
    date_created,
    date_modified,
    quantity,
    installation_position,
    notes,
    proposal_location_id,
    parent_id,
    prompt,
    cost_price,
    sale_price,
    service_price,
    labour_hours,
    maint_hours,
    comm_hours,
    adj_cost_price,
    adj_sale_price,
    adj_service_price,
    adj_labour_hours,
    adj_maint_hours,
    adj_comm_hours,
    is_adjusted,
    adj_unit_price,
    discipline_products_id
)
VALUES( '1000000',
        '27-02-2013',
        '27-02-2013',
        3,
        'dfdf',
        'dsdsd',
        6,
        58,
        'hghfg',
        21,
        22,
        22,
        48,
        45,
        45,
        0,
        0,
        0,
        0,
        0,
        0,
        1,
        0,
       ( SELECT id FROM discipline_products WHERE product_id = (SELECT id 
                                                                 FROM products
                                                                WHERE c4w_code = 'STDD')
        ))

【讨论】:

    猜你喜欢
    • 2013-07-03
    • 1970-01-01
    • 1970-01-01
    • 2021-07-13
    • 2015-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多