MySQL左连接(使用MeekroDB)

时间:2016-08-23 23:19:24

标签: mysql meekro

这实际上是一个MeekroDB独家问题,只是试图绕过Left_Join。

我有2个表:comp_checklist_items t和comp_checklist

我想获取用户ID匹配的DB::query("SELECT * FROM comp_checklist WHERE user_id = %i", $user_id );中的所有行,这样可以正常工作:

comp_checklist

现在我用魔杖来获取相同的查询(用户ID匹配的checklist_id中的所有行)并添加checklist_id在两个表中都匹配的任何comp_checklist_items行(comp_checklistfalse表中的主键。我在下面使用但只是得到DB::query("SELECT * FROM comp_checklist WHERE user_id = %i LEFT JOIN comp_checklist_items on checklist_id = comp_checklist.checklist_id", $user_id );

import UIKit class ViewController: UIViewController { var reminder = [String]() @IBOutlet weak var tbl_Update: UITableView! override func viewDidLoad() { super.viewDidLoad() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } @IBOutlet weak var textField: UITextField! @IBAction func checkMarkTapped(sender: AnyObject) { reminder.append(textField.text!) textField.text = "" tbl_Update.reloadData() } @IBAction func addReminder(sender: AnyObject) { } func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return reminder.count } func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell:CoustemCell = tableView.dequeueReusableCellWithIdentifier("Cell") as! CoustemCell cell.tableViewLabel.text = reminder[indexPath.row] return cell } }

1 个答案:

答案 0 :(得分:0)

JOIN应该在WHERE之前,所有列都应该有表名,否则你会收到错误:

DB::query("SELECT * FROM comp_checklist 
           LEFT JOIN comp_checklist_items 
           ON comp_checklist_items.checklist_id = comp_checklist.checklist_id 
           WHERE comp_checklist.user_id = %i ", $user_id );